大叔最近通读了一下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中文手册的同学,关注公众号:软件测试大叔,发送“手册”,即可获取。
注:以上内容为笔者经验总结,不足之处,欢迎指导交流。