Jmeter最佳实践

大叔最近通读了一下Jmeter官方手册,并且对google翻译版本进行了校对整理,对于手册中提到的Jmeter最新实践,整理分享给大家。


01

Jmeter最佳实践


1、始终使用最新版本的 JMeter

JMeter 的性能在不断改进,因此强烈建议用户使用最新版本。

2、使用正确的线程数

您的硬件功能以及测试计划设计都会影响您可以使用 JMeter 有效运 行的线程数。该数字还将取决于您的服务器的速度

3、减少资源需求

  • 使用 CLI 模式(不适用图形模式)

  • 尽可能少地使用监听器

  • 不要在负载测试期间使用“查看结果树”或“用表格查看结果”监听 器,仅在脚本编写阶段使用它们来调试您的脚本。

  • 与其使用大量相似的采样器,不如在循环中使用相同的采样器,并使用变量(CSV 数据集)来改变样本。

  • 不要使用功能模式

  • 使用 CSV 输出而不是 XML

  • 只保存您需要的数据

  • 尽可能少地使用断言

  • 使用性能最好的脚本语言(参见 JSR223 部分,官网手册推荐的是groovy)

4、BeanShell 脚本

从 JMeter 3.1 开始,我们建议从 BeanShell 切换到 JSR223 测试元 素(有关更多详细信息,请参阅下面的 JSR223 部分),并从 __Beanshell 函数切换到__groovy 函数。

5、用 Groovy 或 Jexl3 等开发脚本函数

编写和测试作为函数的脚本是非常困难的。但是,JMeter 具有 JSR223 采样器,它可以与任何支持它的语言一起使用。我们建议使 用 ApacheGroovy 或任何支持 JSR223 的Compilable 接口的语 言。假设 Groovy 脚本存储在变量 RANDOM_NAME 中。然后可以将函数调用编码为${__groovy(${RANDOM_NAME})}。不需要在脚本中转义任何逗 号,因为在插入变量值之前解析函数调用。

6、JSR223 元素

对于密集的负载测试,推荐的脚本语言是一种其 ScriptingEngine 实现 Compilable 接口的语言。Groovy 脚本引擎实现 Compilable。然而,在 JMeter 3.1 的发布日期,Beanshell 和 Javascript 都没有 这样做,因此建议避免使用它们进行密集的负载测试。

7、在线程和线程组之间共享变量

变量是线程的局部变量;在一个线程中设置的变量不能在另一个线程 中读取。这是设计使然。有关可以在测试开始之前确定的变量,请参阅 参数化测试(上文)。如果在测试开始之前不知道该值,则有多种 选择:• 将变量存储为属性 - 属性对于 JMeter 实例是全局的 • 将变量写入文件并重新读取它们。还有两种不常见,这里不介绍了。

8、过时的元素

建议不要使用已弃用的元素(在更改列表和组件参考中标记为此类),并在可用或执行相同操作的新方法时迁移到新的建议元素。不推荐使用的元素从版本 N 的菜单中删除。


想要获取Jmeter中文手册的同学,关注公众号:软件测试大叔,发送“手册”,即可获取。


注:以上内容为笔者经验总结,不足之处,欢迎指导交流。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容