对IPFS网关进行基准测试

[复制链接]
11689 |1
发表于 2019-8-29 21:07:03 | 显示全部楼层 |阅读模式
原文作者:Aadhi Manivannan
本文由IPFS中国社区编译整理
原文链接:https://aadhi.rocks/benchmarking-ipfs-gateways/
免责声明:我在协议实验室工作了6个月,现在已经不再在那里工作了。
性能是IPFS的一个重要问题,有许多探索这个更广泛问题的不同途径。
我决定选择的途径:IPFS网关。什么是IPFS网关?这是浏览器用户无需运行守护程序即可访问IPFS托管内容的方式。换句话说,它有助于创建从今天的Web到DWeb的无缝桥梁。
那里不乏社区提供的网关,最常见的是ipfs.io,因为协议实验室(创建IPFS的公司)运行它。但其他强有力的竞争者仍然存在,包括Cloudflare。
看看可用的选项,脑子里出现了一个想法:哪一个最适合我的日常使用?

我决定找出答案。
测试概述
我想让这个测试保持简单。
话虽如此,测试包括调用三个不同的文件:
文本文件(~1.3KB)
图像文件(~3.6MB)
视频文件(约153.3MB)
你可以用上面的超链接访问它们。我把它们托管在Pinata的固定服务上,并计划在可预见的未来保持它们的正常运行。
我从七个不同的网关提供商的地址中调用每个文件:
Protocol Labs (https://ipfs.io/ipfs/)
Cloudflare (https://cloudflare-ipfs.com/ipfs/)
Infura (https://ipfs.infura.io/ipfs/)
Pinata (https://gateway.pinata.cloud/ipfs/)
Eternum (https://ipfs.eternum.io/ipfs/)
Siderus (https://siderus.io/ipfs/)
Temporal (https://gateway.temporal.cloud/ipfs/)
我还提出了另一个问题:在不同的地理位置运行该测试
US-East
US-West
EU-London
EU-Frankfurt
AP-Tokyo
AP-Mumbai
AP-Sydney
SA-Sao Paolo
为了测试这些不同的地理位置,我使用了AWS的t2.micro实例。
如果你对运行这些测试的代码感兴趣,我已将其上传到GitHub。你可以按照自述文件在自己的机器上启动。
确定获胜者的方法
在分享我的方法之前的一点说明:我不是在寻找最快的网关,或者性能差异最小的那个。我正在寻求速度和一致性之间的平衡。
为此,我确定了四个子类别的胜利者。然后我使用了第五个子类来打破平局。这些类别是:
10次尝试的最低速度
10次尝试的最高速度
10次尝试的最低平均速度
通过10次尝试的最低中位值
仲裁:10次尝试的最低标准偏差
结果
接下来的几个表都是很详细的。
对于寻找通用答案的人来说,Cloudflare获胜。
下表中字母的简短说明:
PL = Protocol Labs
C = Cloudflare
I = Infura
P = Pinata
E = Eternum
S = Siderus
T = Temporal
文字结果



图像结果



视频结果


* Std Dev仅打破平局

讨论结果
一般来说,Cloudflare的网关是一个安全的选择。它提供了跨地理和文件类型的可靠性能。如果你在孟买,悉尼或圣保罗地区,无论文件类型如何,它们也是最好的网关。
排名第二和第三的是 Protocol Labs 和Pinata。前者是IPFS旗下的公司。后者一个在社区中有固定服务的公司。对我来说似乎很有意义。
关于这些结果的最后一点说明。在查看这些性能指标时,我忽略了一个大数据点:每个网关上的流量。我的假设是协议实验室在其网关上获得更多流量。毕竟,大多数人默认使用他们的网关地址。
更多流量=更多问题。并且我的数据中的任何地方都没有捕获该变量。但是,我希望这种分析最终会引起对备用网关的关注,以此作为负载平衡的一种方式。
最后的注释-冷启动问题
这些数据=令人大开眼界,值得一提的是我的想法,我以前在Serverless的世界里看到过。
冷启动问题
在Serverless的世界环境中,Mike Roberts将冷启动问题描述为:
在每个事件之前,FaaS平台都需要一些时间来初始化函数的实例。这种启动延迟可能会有很大的差异,甚至对于一个特定的函数也是如此,具体取决于很多因素,并且可能在几毫秒到几秒的范围内……
Lambda函数的初始化将是“热启动” -(重用Lambda函数的实例及其来自以前事件的宿主容器),也可以是“冷启动”(创建新的容器实例,启动函数宿主进程),等等。毫不奇怪,在考虑启动延迟时,这些冷启动引起了最多的关注。
– Mike Roberts,Serverless的世界体系结构
在IPFS网关的背景下,这个问题似乎存在(至少在某种程度上)。例如,按地理位置查看Cloudflare在文本文件(~1.3KB)上的表现:



冷启动问题全面展开
很清楚。在尝试1和尝试2-10之间,每个地理位置都有很大的性能改进。但是,我不确定这是一个IPFS问题。为了说明 – 除了Infura的表现之外,这里的剪辑相同:



也许不吧?
我不太清楚存在冷启动的问题,坦率地说,我不确定这种差异来自何处。是IPFS本身吗?是网关的架构吗?难道我做错了什么?我不清楚。
但这是件好事。
一些思考
让我们明确一点:这并不完美。这是一个简单而通用的测试,我把它放在一起看一些数据。我回答了我的个人问题:我应该使用哪个网关?但是,我可能没有回答你的问题。
如果是这样,请随意使用我的原始数据进行自己的分析。或者,自己运行测试并分享结果。或者,如果你觉得自己很有雄心壮志 ,请通过推送PR来编辑测试。

iqs0zbri3i3.jpg

iqs0zbri3i3.jpg
回复

使用道具 举报

发表于 2019-12-16 10:25:46 | 显示全部楼层
时空云科技旗下 FILPool矿池(蜘蛛矿机集群)节点 t02333 终于登顶,稳稳地坐上了头把交椅. 这不但证明了我们的技术实力,也代表着我们在分布式网络的道路上走出了坚实的一小步。我们还将不断突破优化,逐步提升复制证明性能,从而提升Filecoin共识效率,为IPFS生态贡献力量。微信:18028795090
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门版块
快速回复 返回顶部 返回列表