【问题标题】:how to calculate TPS如何计算TPS
【发布时间】:2011-10-17 08:00:04
【问题描述】:

我必须用 java 构建一个应用程序来处理特定应用程序的负载测试。在这里,我们可以提供某些参数,例如 TPS(每秒事务)时间(以秒为单位)和请求数。我给你一些场景,比如 TPS = 5 时间=100 请求数=500。 要么 TPS=10 时间=100 请求数=1000

但是我已经使用多个线程发送了这个请求,因此该进程可以填充并发事务。我的问题是如何创建逻辑来创建它。我正在用java开发我的程序。

【问题讨论】:

  • 这还不是很清楚。您是在问如何编写一个在特定时间段内调用一定数量事务的测试工具?
  • 那么问题是如何通过多线程发送此事务率或如何在服务器上计算它?
  • @Alex Gitelman Yaa 绝对如何仅在该 TPS 上管理该事务率,以便它仅在每秒基础上发送那么多请求,而不是更多。

标签: java algorithm math logic


【解决方案1】:

假设您想以 50 TPS 运行 100 秒。您可以有 5 个线程每 100 毫秒发送 1 个事务,持续 100 秒。但是,您希望稍微随机化进程以防止线程同时发送事务。所以每个胎面的过程将是

  • 发送交易
  • 等待 1 到 199 毫秒(含)之间的随机时间(平均 100 毫秒)
  • 根据需要重复

这将为您提供平均 50 TPS 在时间上合理分配。您可以尝试使用线程数和其他数字来实现您的特定目标。

【讨论】:

  • 感谢您的回复。你能不能给我看一下这个的计算,这样我就可以更好地理解这个逻辑,........
  • 其实等待的时间需要在1到200毫秒之间。否则,发送之间的平均时间将为 50,TPS 将为 100,而不是 50。
  • 1ms 到 200ms 产生的平均等待时间为 100.5ms,而不是 100ms。我意识到这是次要的,但修复起来也很次要。
  • 魔鬼在细节中。我想我们会说 1 到 199(含)。
  • 哈,我也在想同样的事情,但又忘记了。
猜你喜欢
  • 2021-12-13
  • 2014-06-06
  • 1970-01-01
  • 2019-01-09
  • 2019-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多