jmeter之如何减负-实现稳定超高并发测试(性能调优)

Posted o沐森o

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter之如何减负-实现稳定超高并发测试(性能调优)相关的知识,希望对你有一定的参考价值。

新浪围脖>@o蜗牛快跑o   企鹅交流群>79642549


在测试过程中,初学者(也包括早期的我),使用工具不当,添加众多监控组件,非常想看到实时报告,跑不了一会,jmeter就卡死甚至oom,只得重启,之前的统计报告没了,非常郁闷。下面我来总结下如何正确使用jmeter,有效利用执行资源,小型机器也可以实现高并发负载。

  • 减负一,优化监听(GUI模式)
    • “查看结果树”,需要勾选“仅日志错误”,这样只会保存错误日志到内存,数据不会多。如果保存所有,那么会保存每个请求请求信息和相应信息,而且这些数据都是保存到jvm内存的,且常驻数据无法回收,上万十万大量请求很快就会压垮jmeter。
    • “聚合报告”中小并(100以内)发可以保留;高并发去掉,添加“Simple Data Writer”且保存csv格式数据。“聚合报告”是非常消耗cpu的。
    • 其他监听组件可以都去掉,测试完后通过保存的结果,线下生成图表报告
  • 减负二,优化监听(Non-GUI命令行模式)
    • “查看结果树”,需要勾选“仅日志错误”,需要设置路径,保存错误信息到文件,并且保存所有信息(点击Configure,勾选所有非CSV选项)
    • “聚合报告”命令行下无效
    • 其他监听组件可以都去掉,基本在Non-GUI下无效
  • 减负三,结果文件优化
    • 结果数据一定要保存为CSV格式(比起xml格式,每条数据会少很多)
    • “查看结果树”保存的错误信息要保存为xml,可以保存完整结果信息,方便错误分析
  • 减负四,勿使用分布式压测
    • jmeter分布部署只是解决问题,没根本解决问题,高并发时master机器承受的压力很大,形成单点,无法在高并发时提供稳定负载
    • 数据会写可能丢失
    • 解决方法:需要手工运行slave,或利用jenkins同时触发多台slave
  • 减负五,建议用Non-GUI命令行模式运行


以上是关于jmeter之如何减负-实现稳定超高并发测试(性能调优)的主要内容,如果未能解决你的问题,请参考以下文章

jmeter 非gui 模式下怎么得到cpu,内存的结果文件?

使用Jmeter性能测试注意点

Jmeter之仿真高并发测试(集合点)

性能测试之Jmeter学习

Jmeter之tomcat性能测试+性能改进措施

JMeter 接口/并发/性能测试(详尽版)