我正在使用JMeter进行性能测试,我有以下配置:
主题:100 循环次数:1
如果我的Ramp-Up期限为100,则并非所有用户都登录(测试脚本涉及登录并进行交易);也就是说,只有91个线程成功登录。此外,错误消息正在日志中打印出来,例如NullPointerException。但如果我的Ramp-Up期限是500,那么所有这些都已成功登录。我只是感到困惑。这背后的原因是什么?
答案 0 :(得分:2)
Java Heap Space可能存在问题。检查jmeter.log
文件中的OutOfMemoryError
,它告诉JMeter没有足够的内存来执行其任务。
增加它,以便JMeter可以累积更多线程。 (当你给出更多的加速时间时,运行的线程数将会更低,因此JMeter在处理这些线程时可能没有任何问题。)
<{1>}文件中的:
默认值:
jmeter.bat
增加堆空间(根据可用内存增加到1 GB或更多):
set HEAP=-Xms512m -Xmx512m
重新启动 JMeter并进行测试。
如果仍然存在,问题仍然存在,那么可能是服务器无法同时处理超过x个并行客户端/线程的原因,这被称为系统的断点。
可能的原因:
可能的解决方案: