如何分析JMeter结果?

332nm8kg  于 2023-05-29  发布在  其他
关注(0)|答案(7)|浏览(172)

我是JMeter工具的新手。谁能帮我找到分析JMeter报告的最佳方法?

vktxenjb

vktxenjb1#

简单列出您可能会发现有用的相关链接:
原生图形:

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

定制开发的配方:

请查找、使用并随意扩展此Awesome JMeter集合(继续称为github repo)。

eit6fx6z

eit6fx6z2#

在进行性能测试时,必须进行三项测试,即基线测试、峰值测试和压力测试。这些试验因李特尔定律而相互关联。The long-term average number of customers in a stable system L is equal to the long-term average effective arrival rate, λ, multiplied by the time a customer spends in the system, W; or expressed algebraically: L = λW.

Jmeter已经提供了检查这些值的方法,the standar plugin提供了响应时间、命中率和吞吐量的图。没有办法直接告诉有多少用户在系统上是活跃的,它不是相同的并发用户和活跃用户。这些插件足以生成报告,但它们不允许控制大部分演示文稿,我将使用使用Python生成的一些图(它们添加标签,并有2个y轴)。

**基线测试:**本例为该定律的特例,本例中活跃用户数恒定且为1,则:

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

如果应用程序运行相同的代码段,响应时间将随着时间的推移而稳定,那么到达率也将随着时间的推移而保持不变。
有一种服务除了等待一段时间外什么也不做:

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

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

**峰值测试:**这是另一种特殊情况,在这种情况下,负载增加,直到超过系统吞吐量,因为负载大于吞吐量,响应时间确实增加。在测试过程中,线程数量应该增加得足够快,以便从长响应时间中恢复过来。

这一次我没有运行peak,而是在整个测试过程中给系统施加了比它能够处理的负载更多的压力。要控制服务吞吐量,请执行以下操作:

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

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

由于响应时间确实会随着活跃用户的增加而增加,因此我们需要注入器在需要新连接时尽快创建新线程,大多数池线程都将处于忙碌状态。

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

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

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

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

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

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

ffvjumwh

ffvjumwh3#

简单地说,如果你想分析你的JMeter报告...
1.从服务器CPU和RAM利用率开始。在服务器上运行性能测试时,查看当前测试使用了多少CPU和RAM。
在托管站点服务器上发出以下命令;它将创建CPU使用情况日志文件。

while true; do 
  ( echo "%CPU %MEM ARGS $(date)" &&
    ps -e -o pcpu,pmem,args --sort=pcpu | cut -d" " -f1-5 |
    tail ) >> ps.log
  sleep 1
done

1.请参阅总体响应时间,它不应超过您的预期响应时间标准。见下图。我的期望是响应时间不应该超过525微秒,但是有些请求超过了这个时间。找到这些需要时间的请求。
总体响应时间:

1.请参阅每秒事务处理,每秒进行多少事务处理,测试时间范围内是否有任何下降?
1.检查摘要报告、平均时间和最大时间,以查看哪些请求占用的时间最长。目前,JMeter中有许多侦听器作为附加组件或内置,但为了能够正确猜测正在发生的事情,这些是要查看的主要内容。你可以使用其他类似的报告。
关注我的博客了解更多详情https://softwaretesterfriend.blogspot.in/

ogsagwnx

ogsagwnx4#

从3.0版开始,JMeter包含了一个动态HTML报告,可以在负载测试结束时生成,也可以从结果文件中生成。
参见generating-dashboard

e3bfsja2

e3bfsja26#

除了所有其他答案:有一个不错的网站BlazeMeter,你可以上传你的测试结果文件(.jtl),它会为它生成各种(交互式)报告。它甚至会为你分析它,并指出第一个错误发生的时间,饱和点是什么等等https://sense.blazemeter.com/gui/
如果你有一个graphite/grafana基础设施,我可以建议你在项目中添加Backend Listener。它会将实时指标发送到graphite服务器,您可以在graphite(或grafana)中监控测试。

eni9jsuy

eni9jsuy7#

如果您是JMeter新手,了解JMeter侦听器和其他组件将对您有所帮助。查看教程-https://www.youtube.com/watch?v=FfDVIklNjgw

相关问题