我有一个场景来测量登录功能性能,因为我使用 JSR223 预处理器使用 Javascript 加密我的密码,它大约 2000 行代码它工作正常,它成功加密密码,我可以使用我的脚本登录它在少数用户中工作正常。
如果我们去大量的用户脚本完成前 3 个步骤非常快,一旦它到达 JSR223 预处理器线程,处理它需要很长时间来处理它会使性能测试延迟。
有什么建议可以微调这个过程吗?
我已经将缓存大小配置为 1024,即使执行需要很长时间。
对于 600 个用户,在 1 个主服务器和 3 个从属环境中完成该过程需要 1 小时 +++ 时间。
Javascript 应该避免用于负载测试。
最好的选择是使用:
-
槽的
-
检查缓存编译密钥
-
为每个测试元素输入唯一键
这将使JMeter编译脚本,从而获得最佳性能,请阅读以下内容以获取更多信息:
- http://www.ubik-ingenierie.com/blog/jmeter_performance_tuning_tips/
如果你想正确地学习jmeter,这本书会对你有所帮助。
不是与 JSR223 PreProcessor 一起使用的最佳语言,它通过 Rhino 或 Nashorn 引擎运行,并且您的表达式一直在使用性能不高的方式从头开始计算。
根据JMeter最佳实践,建议使用Groovy脚本引擎。假设配置良好,您将能够将时髦的脚本编译成本机JVM字节码,因此性能将远高于JavaScript。
为了在Jmeter中获得Groovy支持,您只需要
- 下载时髦的.jar
- 将文件拖放到 JMeter 安装的"lib"文件夹中
- 重新启动 JMeter
请参阅 Beanshell vs JSR223 vs Java JMeter 脚本:您一直在等待的性能下降! 指南,了解更详细的说明和脚本编写最佳实践。