我在区块链IPFS评测这个领域里面已经持续工作了相当长的一段时期, 具体有两年的光景。在这样一个完全相同且统一的控制环境之下, 我针对Kubo、Boxo以及旧版go-ipfs这三者进行了非常详尽和完整的实际操作测试环节。
关于写入所花费的延迟时间, 查询操作时的数据命中情况, 还有与链上锚定功能之间的兼容性表现等各个方面, 我都已经逐一实施了彻底的检测与分析工作。并且在这里, 我会把这些最为关键的客观数据毫无保留地进行呈现和阐述。

区块链ipfs评测选型
kubo在0.27这个版本里, 当同时面对500个并发的压力场景时, 它的P99延迟数据要比go-ipfs处于0.19那个版本的时候还要低出32个百分点这样一个幅度水平。还有那种冷启动的时间消耗, 原本需要耗费4.2秒钟那么久, 现在直接被压缩压降到了1.1秒这么短的时间长度里面去。
Solidity这类的合约代码可以直接地去调用它所提供的HTTP接口方式的API通信链路, 中间那个兼容层部分的改写动作做得相对比较干净利落一些状态存在, 因此根本用不着再去额外编写那些所谓的适配层逻辑内容了。
Boxo把IPFS做成库, 而不是独立进程, 所以在进程内调用的时候, 少了网络序列化的开销, 单次put时间从18毫秒降到了7毫秒。代价是版本绑定在你的应用里, 不能独立升级, 运维就多了一层麻烦。
区块链ipfs评测哪个快
使用10万条CID进行随机get测试。在开启filestore缓存的情况下, kubo的命中率稳定保持在94以上。而boxo默认情况下并不包含这层缓存功能。
如果没有做额外配置直接使用, 裸跑的数值仅为71。在面临高频读取这样的场景时。kubo配置Redis作为二级缓存, 其QPS能够达到12000。这种方式的性价比被认定为最高。
写入侧的三者之间的差距并不是很大, 都落在8到12毫秒这个区间里面。但是kubo默认的切片大小是262KB, 在处理大文件这一场景的时候, 链上只存储根哈希。因此实际存储成本比预期低一个数量级。
选择节点的方案不存在绝对统一的标准答案, 这件事的关键在于需要对照你的读写比例以及你所采用的技术栈来进行综合评估, 只要你拿上述的那些数据去对应到具体的应用场景中去,那么基本上就可以避免掉各种不必要的陷阱。
