`
wxch2008
  • 浏览: 19181 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JMeter技巧集锦

阅读更多
JMeter 是一个流行的用于负载测试的开源工具, 具有许多有用的功能元件,如线程组(thread group), 定时器(timer), 和HTTP 取样 (sampler) 元件。 本文是对JMeter 用户手册的补充,而且提供了关于使用Jmeter的一些模拟元件开发质量测试脚本的指导。

  本文同时也讨论了一项重要的内容:在指定了精确的响应时间要求后,如何来校验测试结果,特别是在采用了置信区间分析这种严格的统计方式的情况下应如何操作。请注意,我假定本文的读者们了解关于Jmeter的基础知识,本文的例子基于Jmeter2。0。3版。

  确定一个线程组的ramp-up period (Determine)

  Jmeter脚本的第一个要素是线程组(Thread Group),因此首先让我们来回顾一下。 正如图一所示,线程组需要设置以下参数:
  ·线程数量。
  ·ramp-up period。
  ·运行测试的次数。
  ·启动时间:立即或者预定的时间,如果是后者,线程组所包含的元素也要指定这个起止时间。
每个线程均独立运行测试计划。因此, 线程组常用来模拟并发用户访问。如果客户机没有足够的能力来模拟较重的负载,可以使用Jmeter的分布式测试功能来通过一个Jmeter控制台来远程控制多个Jmeter引擎完成测试。

  参数 ramp-up period 用于告知JMeter 要在多长时间内建立全部的线程。默认值是0。如果未指定ramp-up period ,也就是说ramp-up period 为零, JMeter 将立即建立所有线程,假设ramp-up period 设置成T 秒,全部线程数设置成N个, JMeter 将每隔T/N秒建立一个线程。

  线程组的大部分参数是不言自明的,只有ramp-up period有些难以理解, 因为如何设置适当的值并不容易。首先,如果要使用大量线程的话,ramp-up period 一般不要设置成零。因为如果设置成零,Jmeter将会在测试的开始就建立全部线程并立即发送访问请求, 这样一来就很容易使服务器饱和,更重要的是会隐性地增加了负载,这就意味着服务器将可能过载,不是因为平均访问率高而是因为所有线程的第一次并发访问而引起的不正常的初始访问峰值,可以通过Jmeter的聚合报告监听器看到这种现象。
这种异常不是我们需要的,因此,确定一个合理的ramp-up period 的规则就是让初始点击率接近平均点击率。当然,也许需要运行一些测试来确定合理访问量。

  基于同样的原因,过大的ramp-up period 也是不恰当的,因为将会降低访问峰值的负载,换句话说,在一些线程还未启动时,初期启动的部分线程可能已经结束了。

  那么,如何检验ramp-up period I太小了或者太大了呢?首先,推测一下平均点击率并用总线程除点击率来计算初始的ramp-up period。 例如,假设线程数为100, 估计的点击率为每秒10次, 那么估计的理想ramp-up period 就是 100/10 = 10 秒。 那么,应怎样来提出一个合理的估算点击率呢?没有什么好办法,必须通过运行一次测试脚本来获得。

  其次, 在测试计划(test plan)中增加一个聚合报告监听器,如图2所示,其中包含了所有独立的访问请求(一个samplers)的平均点击率。第一次取样的点击率(如http请求)与ramp-up period 和线程数量密切相关。通过调整ramp-up period 可以使首次取样的奠基率接近平均取样的点击率。
第三, 查验一下Jmeter日志(文件位置:JMeter_Home_Directory/bin) 的最后一个线程开始时第一个线程是否真正结束了,二者的时间差是否正常。

  总之,是否能确定一个适当的ramp-up time 取决于以下两条规则:
  ·第一个取样器的点击率(hit rate)是否接近其他取样器的平均值,从而能否避免ramp-up period 过小。
  ·在最后一个线程启动时,第一个线程是否在真正结束了,最好二者的时间要尽可能的长,以避免ramp-up period过大。

  有时,这两条规则的结论会互相冲突。 这就意味着无法找到同时满足两条规则的合适的ramp-up period。糟糕的测试计划通常会导致这些问题,这是因为在这样的测试计划里,取样器将不能充分地采集数据,可能因为测试计划执行时间太短并且线程会很快的运行结束。
分享到:
评论

相关推荐

    JMeter技巧集锦1

    JMeter技巧集锦1

    【整理】JMeter技巧集锦分析(一)

    正态分布_Z_值表 博文链接:https://phoenix0529.iteye.com/blog/1538041

    JMeter使用技巧

    JMeter使用技巧JMeter使用技巧JMeter使用技巧JMeter使用技巧JMeter使用技巧JMeter使用技巧JMeter使用技巧JMeter使用技巧JMeter使用技巧

    jmeter技巧、实战111111

    jmeter技巧、实战111111

    lijiang1024#ReadingNotes#jmeter使用技巧1

    jMeter使用技巧参考博客: jMeter入门教程jMeter 读取excel数据jmeter 读取excel数据1jmeter 读取excel数据2jMet

    JMeter性能测试使用技巧

    JMeter性能测试使用技巧 在这此对新版本jmeter的学习+温习的过程,发现了一些以前不知道的功能,所以,整理出来与大分享。本文内容如下。 1.如何使用英文界面的jmeter 2.如何使用镜像服务器 3.Jmeter分布式测试 4....

    JMeter测试入门指导

    JMeter测试入门指导 1 安裝JMeter與設定 2 快速建立 JMeter 測試案例與測試 3 測試技巧篇 3.1 案例的可重複性 – 使用變數 …… 4 高級技巧篇 ……

    JMeter参数化技巧二-10.flv

    高清视频,jemter从初级到高级,包括工具介绍、结构介绍、目录介绍、元件介绍、参数化介绍、请求介绍、管理器介绍等,视频为连续视频,建议每个都看。。。。。。。。

    全栈性能测试修炼宝典+JMeter实战

    从脚本到运维、公式到指标的运用掌握应有尽有,手把手教你性能测试技巧。此书在手,助你走出迷茫。  内容推荐  “基础篇”:欲练神功,不必自宫。打我基础,从此坦途。  “工具篇”:欲善其事,先利其器。神剑在...

    drupal-jmeter-tricks:在 Drupal 中使用 JMeter 的技巧

    Drupal JMeter 技巧 作者: 要求 JMeter 2.12+ [] 确保jmeter脚本在您的 PATH 和可执行文件中 JMeter 插件 [] Drupal 7 站点 测试站点设置 要设置一个简单的站点来测试这些 JMeter 脚本,请使用以下 Drush 命令 - ...

    JMeter基础(2)录制脚本Java开发Java经验技巧

    JMeter基础(2)录制脚本Java开发Java经验技巧共6页.pdf.zip

    Jmeter基础(1)jmeter基础概念Java开发Ja

    Jmeter基础(1)jmeter基础概念Java开发Java经验技巧共9页.pdf.zip

    2.Jmeter+postman+python的数据库操作技巧!.xmind

    2.Jmeter+postman+python的数据库操作技巧!.xmind,脑图

    JMeter:性能测试的瑞士军刀.zip

    通过掌握JMeter的使用技巧、最佳实践以及性能测试要点,测试工程师可以更加高效地进行性能测试工作,确保软件的质量和稳定性。同时,随着技术的不断发展,JMeter也将不断更新和完善其功能,为测试工程师提供更加便捷...

    第3课-JMeter脚本开发实战.mp4

    无论您是初学者还是有一定经验的用户,本教程都会为您提供实用的指导和技巧。 总之,JMeter工具环境搭建与实战将帮助您了解如何搭建JMeter环境、创建测试计划、配置测试参数、运行和监控测试,并分析测试结果。通过...

    第7课-Jmeter集合点技术.avi

    无论您是初学者还是有一定经验的用户,本教程都会为您提供实用的指导和技巧。 总之,JMeter工具环境搭建与实战将帮助您了解如何搭建JMeter环境、创建测试计划、配置测试参数、运行和监控测试,并分析测试结果。通过...

    第8课-Jmeter接口测试实战-最新的.avi

    无论您是初学者还是有一定经验的用户,本教程都会为您提供实用的指导和技巧。 总之,JMeter工具环境搭建与实战将帮助您了解如何搭建JMeter环境、创建测试计划、配置测试参数、运行和监控测试,并分析测试结果。通过...

Global site tag (gtag.js) - Google Analytics