首页 文章

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

提问于
浏览
2

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

线程:100循环计数:1

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

1 回答

  • 1

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

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

    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:

    • 调整服务器配置以满足您的需求 .

    • 缩小或缩小以添加其他资源 .

相关问题