我正在尝试使用我的所有线程实现3 TPS的目标。我使用Constant Throughput Timer
但不知何故它不提供恒定的TPS。它确实超过了3 TPS,就像10TPS一样。
测试场景
线程组1
线程组2
线程组2
我需要3个TPS来自所有这些线程组的提交报价步骤,我能够实现这一点,但它不是恒定的。
有些人可以帮助管理TPS吗?
下面是图表,您可以看到一些高额交易:
答案 0 :(得分:0)
CTT会给你"常数"一段时间后的吞吐量,而不是测试显示的缩短时间。
您看到的峰值来自服务器响应时间的变化。
也许你可以尝试这种方法:
配置线程组:
循环次数= 1
加速期=测试时间(我的例子为3600秒)
延迟线程创建,直到需要= true
计划程序持续时间= 3600秒
计划程序启动延迟= 0
如果你跑1小时,达到每分钟3转,将线程数设置为180.
答案 1 :(得分:0)
我可以通过将操作分成多个线程来管理这一点。在我之前在线程1中的示例中,我正在执行一些影响CTT的操作。要解决问题,我正在使用队列概念。
如果你看一下上面的第一个响应时间,它是非常常量的,有多个动作是一个线程导致问题。如果您的目标是提供恒定的吞吐量,那么最好在每个线程中保留一个操作,然后使用Inter_Thread Communication在其他线程中传递数据。