Testing 如何分析JMeter结果?

Testing 如何分析JMeter结果?,testing,jmeter,load-testing,Testing,Jmeter,Load Testing,我是JMeter工具的新手。有谁能帮我找到分析JMeter报告的最佳方法吗?简单列出您可能找到的有用的相关链接: 本机图形: 自动图形的免费开源解决方案: -查看此包中的自定义图形;其中一些比jmeter最初的报告提供了更好的开箱即用的结果报告 定制开发配方: 第三方解决方案: 进行性能测试时,必须进行三项测试,即基线测试、峰值测试和压力测试。由于利特尔定律,这些测试相互关联 Jmeter已经提供了检查这些值的方法,提供了响应时间、点击次数以及吞吐量的曲线图

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

简单列出您可能找到的有用的相关链接:

本机图形:

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

  • -查看此包中的自定义图形;其中一些比jmeter最初的报告提供了更好的开箱即用的结果报告
定制开发配方:

第三方解决方案:


进行性能测试时,必须进行三项测试,即基线测试、峰值测试和压力测试。由于利特尔定律,这些测试相互关联

Jmeter已经提供了检查这些值的方法,提供了响应时间、点击次数以及吞吐量的曲线图。无法直接判断系统上有多少用户处于活动状态,这与活动用户不同。这些插件足以生成报告,但它们不允许控制大部分演示文稿,我将使用使用python生成的一些绘图(它们添加标签,并具有2个y轴)

基线测试: 这种情况是法律的一种特殊情况,在这种情况下,活跃用户是常数,它是一,那么:

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

如果应用程序运行同一段代码,响应时间将随时间稳定,那么到达率也将随时间保持不变

有一项服务只需等待一段时间:

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

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

峰值测试: 这是另一种特殊情况,在这种情况下,负载不断增加,直到超过系统吞吐量,因为负载大于吞吐量,响应时间确实会增加。在测试期间,线程数的增加速度应足以从长响应时间中恢复

这一次,我将不运行peak,而是强调系统在整个测试期间所承受的负载超过了它所能处理的负载。要控制服务吞吐量,请执行以下操作:

活动事务是那些已离开注入器但尚未得到响应的事务,这些事务在系统中的某个位置排队

  • λ(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到达率,1tps吞吐量:

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

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

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

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

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

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


如果要分析JMeter报告,请参阅简单的word中的

  • 从服务器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
    
  • 请参阅总体响应时间,它不应超过您的预期响应时间标准。 见下图。我的期望是响应时间不应该超过525微秒,但有些请求超过了它。找出这些需要时间的请求

    总体响应时间:

  • 请参阅每秒事务数,每秒进行多少事务,测试时间范围是否有任何下降

  • 检查摘要报告、平均时间和最大时间,以查看哪些请求占用的时间最多。 目前,JMeter中有许多监听器作为附加组件或内置组件提供,但为了能够正确地猜测发生了什么,这些是需要考虑的主要问题。你可以使用其他类似的报告


  • 除了所有其他答案之外,请关注我的博客了解更多详细信息:BlazeMeter有一个不错的网站,您可以上传测试结果文件(.jtl),它将生成各种(交互式)报告。它甚至为您分析它,并指出第一个错误发生的时间,饱和点是什么,等等


    如果您有graphite/grafana基础设施,我建议您将后端侦听器添加到项目中。它将向graphite服务器发送实时指标,您可以在graphite(或grafana)中监控测试

    为了分析JMeter结果,您可以使用


  • 如果您是新的JMeter,了解JMeter侦听器和其他组件将对您有所帮助。查看教程
    -

    哪份报告?@Alies请问您能帮我回答这个问题吗?求你了,我真的需要一些帮助好帖子!我们已经创建了一个巨大的指南,它提供了12种令人惊奇的方法的深入评论