我将发送速率配置为500 tps,并且我仅使用一个客户端,因此发送速率应约为500tps,但在生成的报告中,发送速率约为130-40 tps。为什么会有这么大的偏差?
我正在使用卡尺的Fabric ccp版本。
答案 0 :(得分:1)
Node.js是一个单线程框架(异步/等待只是意味着延迟执行,而不是并行执行)。卡尺通过以下步骤运行循环:
所有待处理的TX都消耗了一些CPU时间(当不等待I / O时),并且还计划了其他操作(例如,将有关TX的更新发送到主进程)。
要达到500 TPS,速率控制器必须每 2ms 启用一次TX。那不是很多时间。尝试产生1个以上的本地客户端,这样负载将在它们之间共享(5个客户端100 TPS /客户端,10个客户端50 TPS /客户端,等等)。