okx

IPFS网关性能评估

时间:2023-07-31|浏览:297

原文作者:Aadhi Manivannan

本文由IPFS中国社区编译整理

免责声明:我在协议实验室工作了6个月,现在已经不再在那里工作了。

性能是IPFS的一个重要问题,有许多探索这个更广泛问题的不同途径。

我决定选择的途径:IPFS网关。什么是IPFS网关?这是浏览器用户无需运行守护程序即可访问IPFS托管内容的方式。换句话说,它有助于创建从今天的Web到DWeb的无缝桥梁。

那里不乏社区提供的网关,最常见的是ipfs.io,因为协议实验室(创建IPFS的公司)运行它。但其他强有力的竞争者仍然存在,包括Cloudflare。

看看可用的选项,脑子里出现了一个想法:哪一个最适合我的日常使用?

我决定找出答案。

测试概述

我想让这个测试保持简单。

话虽如此,测试包括调用三个不同的文件:

1. 文本文件(~1.3KB) 2. 图像文件(~3.6MB) 3. 视频文件(约153.3MB)

你可以用上面的超链接访问它们。我把它们托管在Pinata的固定服务上,并计划在可预见的未来保持它们的正常运行。

我从七个不同的网关提供商的地址中调用每个文件:

1. Protocol Labs (https://ipfs.io/ipfs/) 2. Cloudflare (https://cloudflare-ipfs.com/ipfs/) 3. Infura (https://ipfs.infura.io/ipfs/) 4. Pinata (https://gateway.pinata.cloud/ipfs/) 5. Eternum (https://ipfs.eternum.io/ipfs/) 6. Siderus (https://siderus.io/ipfs/) 7. Temporal (https://gateway.temporal.cloud/ipfs/)

我还提出了另一个问题:在不同的地理位置运行该测试

- US-East - US-West - EU-London - EU-Frankfurt - AP-Tokyo - AP-Mumbai - AP-Sydney - SA-SaoPaolo

为了测试这些不同的地理位置,我使用了AWS的t2.micro实例。

如果你对运行这些测试的代码感兴趣,我已将其上传到GitHub。你可以按照自述文件在自己的机器上启动。

确定获胜者的方法

在分享我的方法之前的一点说明:我不是在寻找最快的网关,或者性能差异最小的那个。我正在寻求速度和一致性之间的平衡。

为此,我确定了四个子类别的胜利者。然后我使用了第五个子类来打破平局。这些类别是:

1. 10次尝试的最低速度 2. 10次尝试的最高速度 3. 10次尝试的最低平均速度 4. 通过10次尝试的最低中位值 5. 仲裁:10次尝试的最低标准偏差

结果

接下来的几个表都是很详细的。

对于寻找通用答案的人来说,Cloudflare获胜。

下表中字母的简短说明:

- PL=ProtocolLabs - C=Cloudflare - I=Infura - P=Pinata - E=Eternum - S=Siderus - T=Temporal

文字结果 图像结果 视频结果 *StdDev仅打破平局

讨论结果

一般来说,Cloudflare的网关是一个安全的选择。它提供了跨地理和文件类型的可靠性能。如果你在孟买,悉尼或圣保罗地区,无论文件类型如何,它们也是最好的网关。

排名第二和第三的是ProtocolLabs和Pinata。前者是IPFS旗下的公司。后者一个在社区中有固定服务的公司。对我来说似乎很有意义。

关于这些结果的最后一点说明。在查看这些性能指标时,我忽略了一个大数据点:每个网关上的流量。我的假设是协议实验室在其网关上获得更多流量。毕竟,大多数人默认使用他们的网关地址。

更多流量=更多问题。并且我的数据中的任何地方都没有捕获该变量。但是,我希望这种分析最终会引起对备用网关的关注,以此值得一提的是我的想法,我以前在Serverless的世界里看到过。

冷启动问题

在Serverless的世界环境中,Mike Roberts将冷启动问题描述为:

在每个事件之前,FaaS平台都需要一些时间来初始化函数的实例。这种启动延迟可能会有很大的差异,甚至对于一个特定的函数也是如此,具体取决于很多因素,并且可能在几毫秒到几秒的范围内……

Lambda函数的初始化将是“热启动”-(重用Lambda函数的实例及其来自以前事件的宿主容器),也可以是“冷启动”(创建新的容器实例,启动函数宿主进程),等等。毫不奇怪,在考虑启动延迟时,这些冷启动引起了最多的关注。

–Mike Roberts,Serverless的世界体系结构

在IPFS网关的背景下,这个问题似乎存在(至少在某种程度上)。例如,按地理位置查看Cloudflare在文本文件(~1.3KB)上的表现:

冷启动问题全面展开

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

也许不吧?

我不太清楚存在冷启动的问题,坦率地说,我不确定这种差异来自何处。是IPFS本身吗?是网关的架构吗?难道

热点:ipfs

« 上一条| 下一条 »
区块链交流群
数藏交流群

合作伙伴

在区块链世界中,智能合约不仅是代码的信任,更是商业的革命。通过了解其在供应链、版权保护等领域的应用,您将真正体验到智能合约的无限可能性
区块链世界GxPiKaQiu.com ©2020-2024版权所有 桂ICP备16002597号-2