`
wxch2008
  • 浏览: 19658 次
  • 性别: 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技巧集锦分析(一)

    本文将针对JMeter的一些实用技巧进行深入分析,帮助你更好地掌握这款强大的工具。首先,我们要提到的是“正态分布_Z_值表”,这是一个在统计学中常见的概念,与JMeter的分布式测试和负载模拟紧密相关。 正态分布,...

    JMeter使用技巧

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

    jmeter技巧、实战111111

    **JMeter 技巧与实战** JMeter 是一款强大的开源性能测试工具,广泛应用于接口和Web应用的性能测试。在本文中,我们将深入探讨JMeter的一些实用技巧和性能测试的关键流程。 ### **性能测试核心概念** 1. **TPS ...

    JMeterPlugins-Extras

    使用技巧与最佳实践** - 在进行大规模测试前,先在小规模环境下验证插件的稳定性和兼容性。 - 熟悉每个插件的配置选项,以确保它们能准确反映你的测试目标。 - 定期更新插件,以获取最新的功能和修复的bug。 综...

    JMeter性能测试使用技巧

    【JMeter性能测试使用技巧】 JMeter是一款强大的性能测试工具,尤其在Web应用程序的压力测试方面表现出色。在学习和使用最新版本的JMeter时,我们可以掌握一些实用的技巧,提高测试效率和准确性。 1. **如何使用...

    jmeter-5.4.1.zip

    JMeter的优化与技巧** - **JVM配置**:调整JMeter的JVM参数,如Xms、Xmx,以适应不同的测试需求。 - **内存管理**:合理设置内存池,避免内存溢出。 - **线程组策略**:根据测试目标选择合适的线程(用户)数量和...

    Apache JMeter压力测试工具 v5.6.3.zip

    "计算机案例"表示JMeter可以作为实际的案例应用在教学或实践中,帮助学习者掌握性能测试的基本概念和技巧。通过实际操作JMeter,可以更好地理解如何配置测试计划,监控服务器资源,以及分析测试结果。 "模板建站"和...

    jmeter性能接口一本通.pdf

    JMeter技巧篇涉及多个高级功能,如生成测试报告、上传文件、实现网页爬虫、驱动浏览器进行GUI测试、内存溢出解决、服务器性能监控、数据驱动测试、模拟弱网环境、插件扩展、分布式执行脚本等。 ### 容器化的接口...

    Jmeter 学习资料包

    此外,书中还会介绍如何进行实际项目中的性能瓶颈分析和调优策略,帮助你从理论到实践,全面掌握Jmeter的使用技巧。 总之,Jmeter是性能测试领域不可或缺的工具,这份学习资料包将带你逐步掌握其精髓,无论你是测试...

    jmeter工具使用教程

    《Jmeter测试工具培训.pdf》可能是全面的JMeter教程,涵盖基础到高级的使用技巧,包括如何创建分布式测试,以实现更大规模的并发测试,以及如何通过插件扩展JMeter的功能。 5. **JMeter培训教程** 《JMeter培训...

    jmeterjmeter

    三、JMeter的使用技巧 1. **采样器**:JMeter提供了多种采样器,如HTTP请求、FTP请求等,根据测试目标选择合适的采样器是关键。 2. **断言**:通过添加断言,可以验证服务器返回的结果是否符合预期,确保测试的准确...

    jmeter学习相关资料

    这份"jmeter学习相关资料"包含的可能是JMeter的基础知识、实战技巧、配置指南等多方面内容,对于想要深入了解和掌握JMeter的人来说,是一份宝贵的资源。 1. **JMeter简介**:JMeter是一款开源、跨平台的Java应用...

    lijiang1024#ReadingNotes#jmeter使用技巧1

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

    JMeter测试入门指导

    ### JMeter测试入门指导 #### 一、安装JMeter与设定 JMeter是一款开源的压力测试工具,主要用于对静态和动态资源进行性能...以上介绍了JMeter的基本使用方法和进阶技巧,希望对大家在进行Web应用性能测试时有所帮助。

    jmeter3.1安装手册.txt

    ### JMeter 3.1 安装指南与配置详解 #### 一、JMeter简介 ...此外,为了更好地使用JMeter,还需要学习相关的测试脚本编写技巧以及性能测试基础知识。 以上就是关于JMeter 3.1安装配置的详细指南,希望对您有所帮助。

Global site tag (gtag.js) - Google Analytics