我正在使用JMeter进行性能测试,我有以下配置:
线程:100循环计数:1
如果我的Ramp-Up期限为100,则并非所有用户都登录(测试脚本涉及登录和执行事务);也就是说,只有91个线程成功登录 . 此外,错误消息正在日志中打印出来,例如NullPointerException . 但如果我的Ramp-Up期限是500,那么所有这些都成功登录 . 我只是感到困惑 . 这背后的原因是什么?
也许Java Heap Space存在问题 . 检入 jmeter.log 文件中的 OutOfMemoryError ,它告诉JMeter没有足够的内存来执行其任务 .
jmeter.log
OutOfMemoryError
增加它,以便JMeter可以累积更多线程 . (当你给出更多的加速时间时,运行的线程数将会更低,因此JMeter在处理这些线程时可能没有任何问题 . )
在 jmeter.bat 文件中:
jmeter.bat
默认值:
set HEAP=-Xms512m -Xmx512m
增加堆空间(根据可用内存增加到1 GB或更多):
set HEAP=-Xms512m -Xmx1024m
Restart JMeter并进行测试 .
如果仍然存在问题,则可能是服务器无法同时处理超过x个并行客户端/线程的原因,这被称为系统的断点 .
Possible Reasons:
服务器配置不正确(minThreads,connectTimeOut等)
资源不足(CPU,内存,磁盘,网络等) . 在负载测试期间监视这些资源的服务器 . 基于Unis的服务器的Nmon工具和基于Windows的服务器的PerfMon .
Possible Solutions:
调整服务器配置以满足您的需求 .
缩小或缩小以添加其他资源 .
1 回答
也许Java Heap Space存在问题 . 检入
jmeter.log
文件中的OutOfMemoryError
,它告诉JMeter没有足够的内存来执行其任务 .增加它,以便JMeter可以累积更多线程 . (当你给出更多的加速时间时,运行的线程数将会更低,因此JMeter在处理这些线程时可能没有任何问题 . )
在
jmeter.bat
文件中:默认值:
增加堆空间(根据可用内存增加到1 GB或更多):
Restart JMeter并进行测试 .
如果仍然存在问题,则可能是服务器无法同时处理超过x个并行客户端/线程的原因,这被称为系统的断点 .
Possible Reasons:
服务器配置不正确(minThreads,connectTimeOut等)
资源不足(CPU,内存,磁盘,网络等) . 在负载测试期间监视这些资源的服务器 . 基于Unis的服务器的Nmon工具和基于Windows的服务器的PerfMon .
Possible Solutions:
调整服务器配置以满足您的需求 .
缩小或缩小以添加其他资源 .