51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3742|回复: 2
打印 上一主题 下一主题

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

[复制链接]
  • TA的每日心情
    无聊
    昨天 09:13
  • 签到天数: 1043 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2016-1-6 10:33:59 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    在测试过程中,初学者(也包括早期的我),使用工具不当,添加众多监控组件,非常想看到实时报告,跑不了一会,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命令行模式运行


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏7
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2017-11-28 16:44
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
    发表于 2017-11-28 11:01:54 | 只看该作者
    不太明白如何进行手工运行slave,或利用jenkins同时触发多台slave,有具体截图和操作步骤吗?我们公司要做8000并发的测试,我这一台电脑根本搞不定
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-12 08:46 , Processed in 0.071231 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表