如何分析JMeter结果?

joh*_*ohn 44 testing jmeter load-testing

我是JMeter工具的新手.任何人都可以帮我分析JMeter报告的最佳方法吗?

Ali*_*lik 41

只需列出您可能会发现有用的相关链接:

原生图:

免费的自动化图形开源解决方案:

自定义开发的食谱:

第三方解决方案:


小智 7

在进行性能测试时,必须进行3次测试,始终应该有基线,峰值测试和压力测试.由于小法则,这些测试相互关联.稳定系统L中的长期平均客户数等于长期平均有效到达率λ乘以客户在系统中花费的时间W; 或以代数表示:L =λW..

在此输入图像描述

Jmeter已经提供了检查此值的方法,标准插件提供了响应时间,命中和吞吐量的图表.无法直接告诉系统中有多少用户处于活动状态,并不是与活动用户相同的并发用户.插件足以生成报告,但它们不允许控制大部分演示,我将使用python生成的一些图(它们添加标签,并且具有2 y轴).

基线测试: 此案例是法律的一个特例,在这种情况下,活跃用户是常数,它是一个,然后:

  • L =λW
  • 1 =λW
  • 1/W =λ

在此输入图像描述

如果应用程序运行相同的代码,响应时间将随着时间的推移而稳定,那么到达率也将随着时间的推移而保持不变.

有一项服务除了等待一段时间之外别无其他:

在此输入图像描述

2秒服务:到达率为1/2TPS.

在此输入图像描述

3秒服务:到达率为1/3TPS.

在此输入图像描述

峰值测试: 这是一个特殊情况,在这种情况下,加载incrase直到它超过系统吞吐量,因为负载大于吞吐量,响应时间确实增加.在测试期间,线程数应该足够快地增加以从长响应时间恢复.

在此输入图像描述

这一次而不是运行峰值,我将强调系统的负载超过它在整个测试期间能够处理的负载.要控制服务吞吐量:

在此输入图像描述

活动事务是那些离开注入器但没有得到响应的事务,那些是在系统中某个地方排队的事务.

  • λ(t)= c,T(t)= k; 负载和吞吐量都是随时间变化的.
  • L =Σλ - ΣT= ct - kt; 活动事务是累积负载和累积吞吐量之间的差异.
  • L =(c-k)t
  • λW=(c-k)t
  • cW(t)=(c-k)t
  • W(t)= t(c-k)/ c

由于响应时间确实随着活动用户的增长而增长,我们需要注入器以新请求的速度创建新线程,大多数池线程都将忙碌.

2TPS到达率,1 TPS吞吐量:

  • 响应时间函数为1/2t
  • 喷射器在300秒内对系统施加压力.
  • 测试持续600秒.

在此输入图像描述

4TPS到达率,1 TPS吞吐量:

  • 响应时间函数为3/4t
  • 喷射器在300秒内对系统施加压力.
  • 测试持续1200秒.

在此输入图像描述

6TPS到达率,5 TPS吞吐量:

  • 响应时间函数为1/6t
  • 喷射器在300秒内对系统施加压力.
  • 测试持续360秒.

在此输入图像描述