JSR223预处理性能问题Jmeter

时间:2016-04-27 07:26:36

标签: jmeter jsr223

我有一个测量登录功能性能的方案我已经使用JSR223预处理器来加密我的密码使用Javascript它的大约2000行代码它工作正常它成功加密密码,我能够使用我的脚本登录它的工作原理少数用户很好。

如果我们选择大量用户脚本一旦到达JSR223预处理程序线程就会非常快地完成前3个步骤,处理它会花费很长时间来延迟性能测试。

有任何建议可以微调这个过程吗?

我已经将缓存大小配置为1024,即使执行时间很长。

600位用户使用1个Master和3个Slave环境完成整个过程需要1小时+ +时间。

2 个答案:

答案 0 :(得分:0)

JavaScript不是与JSR223 PreProcessor一起使用的最佳语言,它通过RhinoNashorn引擎运行,并且您的表达式一直在使用不是非常高效的方式从头开始评估。

根据JMeter Best Practices,建议使用Groovy脚本引擎。假设配置良好,您将能够将groovy脚本编译为本机JVM字节码,因此性能将远高于JavaScript。

为了在Jmeter中获得Groovy支持,您只需要

  1. 下载groovy-all.jar
  2. 将文件拖放到JMeter安装的“lib”文件夹
  3. 重新启动JMeter
  4. 有关更详细的说明和脚本最佳做法,请参阅Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For!指南。

答案 1 :(得分:0)

负载测试应避免使用Javascript。

最好的选择是使用:

  • Groovy的

  • 检查缓存编译密钥

  • 为每个Test元素输入一个唯一键

这将使JMeter编译脚本,从而获得最佳性能,请阅读以获取更多信息: