zoukankan      html  css  js  c++  java
  • 为什么Jmeter 运行时到达持续时间不停止?

    终极解决方法:升级jmeter为最新版本即可解决!

    在做并发测试时,遇到了设置持续时间,但是到达了持续时间后,一直不停止;线程组设置的信息如下:

     

    从图中线程组设置可以看出Jmeter需要开启100个线程并且在300s内持续性的给后端服务器发请求,运行后从右上角看到,已经运行超过了300s,但是线程一直没有停止。

    从jemeter.log 日志查看不停的打印Stopping because end time detected by thread

     

    从网上查资料得知是因为某些线程被阻塞了,出现线程阻塞的原因是JMeter的所申请的内存不足导致的,解决该问题有几种方法:

    1. 调整脚本,可以通过调整并发数、减少断言,尽量不要使用监听器来减少额外的内存开销
    2. 非GUI模式下运行Jmeter脚本
    3. 通过调整jmeter.bat 中内存参数

    默认配置是:set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=512m

    根据实际情况进行修改heap 参数,我的是改成了

    set HEAP=-Xms512m -Xmx1024m

    注意:“Xms”(代表初始化堆栈内存的大小),“Xmx(代表最大内存池可以分配的大小)”

    修改后,重启Jmeter。

    可通过jconsole.exe验证jmeter内存设置是否成功

     

     

     

     

  • 相关阅读:
    C++重载运算符
    C++中的友元函数和友元类
    C++中的static关键字
    C++的new运算符和delete运算符
    git常用命令
    php+mysql+apache报错
    Nodejs 异步式 I/O 与事件式编程
    开始用Node.js编程
    Nodejs 模块
    Mac OS X上安装Node.js
  • 原文地址:https://www.cnblogs.com/wangjunjiehome/p/15682875.html
Copyright © 2011-2022 走看看