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命令行模式执行


原文地址:https://www.cnblogs.com/yjbjingcha/p/7395982.html