zoukankan      html  css  js  c++  java
  • jmeterGUI&非GUI模式之如何减负性能调优

          jmeter之如何减负-实现稳定超高并发测试(性能调优)在测试过程中,初学者使用工具不当,添加众多监控组件,非常想看到实时报告,跑不了一会,jmeter就卡死甚至内存耗尽,只得重启,之前的统计报告没了,非常郁闷。


    总结下如何正确使用jmeter,有效利用执行资源,小型机器也可以实现高并发负载。


    1、优化监听(GUI模式)“查看结果树”,需要勾选“仅日志错误”,这样只会保存错误日志到内存,数据不会多,如果保存所有,那么会保存每个请求请求信息和相应信息,而且这些数据都是保存到jvm(Java Virtual Machine(Java虚拟机)的缩写)内存的,且常驻数据无法回收,上万十万大量请求很快就会压垮jmeter;


    2、“聚合报告”中小并(100以内)发可以保留,高并发去掉,添加“SimpleDataWriter”且保存csv格式数据,“聚合报告”是非常消耗cpu的,其他监听组件可以都去掉,测试完后通过保存的结果,线下生成表报告;

    3、优化监听(Non-GUI命令行模式)“查看结果树”,需要勾选“仅日志错误”,需要设置路径,保存错误信息到文件,并且保存所有信息(点击Configure,勾选所有非CSV选项)“聚合报告”命令行下无效其他监听组件可以都去掉,基本在Non-GUI下无效;

    4、结果文件优化结果数据一定要保存为CSV格式(比起xml格式,每条数据会少很多)“查看结果树”保存的错误信息要保存为xml,可以保存完整结果信息,方便错误分析;

    5、勿使用分布式压测jmeter分布部署只是解决问题,没根本解决问题,高并发时master机器承受的压力很大,形成单点,无法在高并发时提供稳定负载数据会写可能丢失解决方法:需要手工运行slave,或利用jenkins同时触发多台slave;

    6、建议用Non-GUI命令行模式运行参考:jmeter之命令行模式(Non-GUIMode)

  • 相关阅读:
    【Unity】自定义编辑器窗口——拓展编辑器功能
    【Unity】AssetBundle的使用——打包/解包
    【Unity】使用Resources类管理资源
    【Unity】使用AssetDatabase编辑器资源管理
    【Unity】协程Coroutine及Yield常见用法
    【Unity】制作简易定时器(Timer)
    python3使用csv模块读写csv文件
    Python3使用csv模块csv.writer().writerow()保存csv文件,产生空行的问题
    MongoDB服务无法启动,发生服务特定错误:100
    ValueError: update only works with $ operators
  • 原文地址:https://www.cnblogs.com/waitingzxy/p/11378980.html
Copyright © 2011-2022 走看看