【问题标题】:JMeter / Jvm Load TestingJMeter / Jvm 负载测试
【发布时间】:2018-05-28 09:03:07
【问题描述】:

我目前正在使用 Apache JMeter 对系统进行负载测试。我对JVM属性感兴趣,所以我在服务器上添加了一个脚本 -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:"FILE_DESTINATION" 来获取这些信息。

我有三个线程组:100、500 和 1000 个并发用户。

1) 我想知道在每个组执行后删除日志文件的内容是否是个好主意,所以每个日志都反映了该组的JVM统计信息?

2) 一个线程组执行与另一个线程组执行之间是否需要间隔?

谢谢!

【问题讨论】:

    标签: java multithreading jmeter jvm


    【解决方案1】:

    如果您使用的是 tomcat,请将以下内容添加到 setenv.sh 文件中

    -verbose:gc\
      -XX:+PrintGCTimeStamps\
      -XX:+PrintGCDateStamps\
      -XX:+PrintGCDetails\
      -XX:+PrintGC\
      -Xloggc:logs/gc-api.log\
      #-XX:+PrintTenuringDistribution\  #optional 
      #-XX:+PrintGCApplicationStoppedTime\   #optional 
    

    【讨论】:

      【解决方案2】:
      1. 我建议在测试执行之间重新启动 JVM,这样您将获得更“干净”的结果,而不会影响之前的测试
      2. 我相信第 1 点回答了您的问题。一个提示:在Thread Group(s) 中定义合理的ramp-up 周期,以便负载可以逐渐增加。这样您就可以将主要的KPIs 与增加的负载相关联。对ramp-down 应用相同的方法也是一个好主意,这样您就可以检查应用程序是否/如何在压力负载后恢复。

      您可能还会发现Perfmon Metrics Collector 很有用,它能够收集和绘制GC 时间和其他JMX metrics,因此您将获得这些信息以及测试结果。

      查看How to Monitor Your Server Health & Performance During a JMeter Load Test 文章了解更多详情。

      【讨论】:

      • 非常感谢!我采用了你的解决方案:) 一个线索环境怎么样。是否可以使用 Jmeter 调用反向代理端点,或者单独调用每个节点更好?
      猜你喜欢
      • 2018-09-28
      • 2012-07-29
      • 1970-01-01
      • 2017-11-26
      • 1970-01-01
      • 1970-01-01
      • 2019-02-10
      • 2015-01-05
      • 1970-01-01
      相关资源
      最近更新 更多