我有一个测试计划,它调用了一个带有步进线程组的操作:
当我运行这个配置时,我得到了下面的TPS图:
我只能假设这平均TPS超过一分钟。观察最大TPS在65左右。
如果我们看一下响应时间与每秒请求数,我们会发现每秒有251个请求。
此外,整个运行的样品总数为23,904。
我期望TPS图显示每秒的数据点。为什么它只显示在一分钟内聚合的 * Transactionsper second*(没有指示使用了什么统计数据)?
如果我只考虑一分钟,我期望总样本计数至少为500 * 60 = 30,000(例如,在20 - 80秒之间)。为什么我总共有23K?我的服务的 Jmeter 板确认了低请求量(看不到TPS,但TPM大约每分钟2k)。
为什么请求计数会随着线程的增加而下降(例如:前2分钟是500,最后应该是2000线程)?
我下面的基本假设是错误的吗?
我假设JMeter的线程组(这里是一个步进组)启动,例如:500个线程。所有500个线程都发送一个请求。由于大多数请求的响应时间都低于1秒,我希望至少有500 TPS。我错过了什么?看看其他SO答案,似乎每个线程都应该尽可能快地执行所有采样器。是否有图表显示每个采样器需要多长时间?我试着去掉所有的,但没有改变任何东西。
附带问题:我使用Plugin Manager,如果通过UI运行JMeter,我设置的其他图形会显示(特别是一个真实的TPS图形,每秒都有数据点),但如果通过CLI运行,我无法在生成的html报告中找到这些图形。我怎么把这些都包括进去?
提前感谢,让我知道,如果你需要任何其他指标/图表从默认的html报告。
1条答案
按热度按时间8wtpewkr1#
我只能假设这平均TPS超过一分钟。
你很聪明,钉了它:
“粒度”可以通过
jmeter.reportgenerator.overall_granularity
JMeter属性控制,因此您可以考虑将默认值60000 ms修改为更低的值,即还有五秒您可以从现有的.jtl文件重新生成报告 Jmeter 板,如下所示:
如果您希望更改是永久性的,请将
jmeter.reportgenerator.overall_granularity=5000
行放到 * user.properties * 文件中。一般来说,如果每秒的事务数与吞吐量不一致,这意味着要么JMeter不能足够快地运行请求,要么你的应用程序不能足够快地处理它们,所以无论如何都需要对其进行分析。
更多信息: