JMeter的。 JSR223,Groovy的。无法产生超过5次/秒的加载

时间:2017-02-06 14:53:07

标签: java performance jmeter performance-testing jsr223

我在JMeter 3.1中使用jsr223 sampler为HTTP请求数据生成密钥。 问题是我的脚本使用加密算法,因此,当线程数增加时,脚本持续时间也会增加(它会与用户数成比例增加)。所以我不能产生超过5次点击/秒。同时CPU利用率保持低水平(8核和32GB RAM)。 你有什么想法如何提高点击率/秒?

2 个答案:

答案 0 :(得分:0)

您是否检查过jsr223元素上的缓存?

如果不是这可能解释了你的问题。 JSR223 +带缓存检查的groovy优于Beanshell一个重要因素。

是的,问题可能在你的代码中,但是你可以通过以5秒的间隔制作3个螺纹转储来检查并查看JMeter正在做什么?

同时确保您在测试时遵循最佳做法:

答案 1 :(得分:-1)

我发现了同样的问题。在我的实验中,我发现JSR223 + Groovy的执行速度比大多数其他实现选项慢。由于GC活动,它对垃圾收集和CPU开销有很大影响。当我将JSR223从Groovy切换到java时,它仍然有很多锁定,并且线程经常被锁定在beanshell bsh.name上。

最后,我用原始beanshell元素替换了所有JSR223测试元素,例如beanshell预处理器/后处理器/断言和采样器。这很容易扩展到每秒数千个请求,所花费的时间是< 1毫秒。

虽然我看过很多推荐JSR223 + Groovy的文章,但在我的案例中并没有起作用。请切换到其中包含java代码的beanshell元素。它会起作用。

请参阅我的文章

JMeter Tuning - JSR223 + Groovy Vs JSR223 + Java BeanShell Vs Raw BeanShell