Hyperledger Fabric:如何使用基于HDD / SSD的I / O绑定事务在LevelDB中获得性能差异?

问题描述

我目前正在开发结构链代码

我在链码中创建了一个受I / O约束的函数(从分类账中读取了很多值)。

在两个节点上进行此实验。一个节点使用HDD,另一个节点使用SSD。

分类帐中,存储了10,000个带有4k大小密钥的对象。 (它似乎太小了。当我放入100,000时,发生了一个错误,因此我使用10,000进行了测试。)

如果我在分类帐中读取(GetState)很多值,我希望使用SSD的节点的读取速度会更快,但是没有区别。

我了解到LevelDB是键值存储,因此没有区别,因为它速度很快。 (顺序读取和随机读取的执行时间相似)

思考如何进行实验,以便使用LevelDB表现出HDD / SDD的性能差异。

如果有办法,我想请教。

解决方法

如果通过链代码查询数据,则不太可能在磁盘级别绑定I / O。通过链码查询数据的路径长度有几跳,因此很可能会成为您的约束。