0

我将发送速率配置为 500 tps,并且我只使用一个客户端,因此发送速率应该在 500tps 左右,但在生成的报告中发送速率约为 130-40 tps。为什么会有这么大的偏差?

我正在使用卡尺的织物 ccp 版本。

我预计发送速率约为 450-480,但实际发送速率约为 130-40 tps。 在此处输入图像描述

4

1 回答 1

3

Node.js 是一个单线程框架(async/await 只是意味着延迟执行,而不是并行执行)。Caliper 通过以下步骤运行循环:

  1. 等待速率控制器启用下一个 TX
  2. 创建一个异步操作,用户模块将在其中调用区块链适配器。

所有待处理的 TX 都会占用一些 CPU 时间(当不等待 I/O 时),此外还会安排其他操作(例如向主进程发送有关 TX 的更新)。

要达到 500 TPS,速率控制器必须每2ms启用一次 TX 。这不是很多时间。尝试生成超过 1 个本地客户端,这样负载将在它们之间共享(5 个客户端为 100 TPS/客户端,10 个客户端为 50 TPS/客户端等)。

于 2019-10-21T20:49:55.347 回答