当加速期和/或线程数很大时,日志出错

时间:2016-11-24 02:16:14

标签: java jmeter performance-testing

我正在使用JMeter进行性能测试,我有以下配置:

主题:100 循环次数:1

如果我的Ramp-Up期限为100,则并非所有用户都登录(测试脚本涉及登录并进行交易);也就是说,只有91个线程成功登录。此外,错误消息正在日志中打印出来,例如NullPointerException。但如果我的Ramp-Up期限是500,那么所有这些都已成功登录。我只是感到困惑。这背后的原因是什么?

1 个答案:

答案 0 :(得分:2)

Java Heap Space可能存在问题。检查jmeter.log文件中的OutOfMemoryError,它告诉JMeter没有足够的内存来执行其任务。

增加它,以便JMeter可以累积更多线程。 (当你给出更多的加速时间时,运行的线程数将会更低,因此JMeter在处理这些线程时可能没有任何问题。)

<{1>}文件中的

默认值:

jmeter.bat

增加堆空间(根据可用内存增加到1 GB或更多):

set HEAP=-Xms512m -Xmx512m

重新启动 JMeter并进行测试。

如果仍然存在,问题仍然存在,那么可能是服务器无法同时处理超过x个并行客户端/线程的原因,这被称为系统的断点。

可能的原因:

  1. 服务器配置不当(minThreads,connectTimeOut等)
  2. 缺乏资源(CPU,内存,磁盘,网络等)。在负载测试期间监视这些资源的服务器。基于Unis的服务器的Nmon工具&amp; PerfMon for Windows服务器。
  3. 可能的解决方案:

    1. 调整服务器配置以满足您的需求。
    2. 缩小或向外扩展以添加其他资源。