性能指标波动分析

。
订阅者
271
文章
0
评论
测试交流1 178字数 154阅读0分30秒阅读模式

问题:

最近需要做一个长时间的压测,大致需求是每 5s 并发 1w 个请求持续 48h,目前是通过 Python locust 分布式实现的。在压测前 15min 左右,locust 收集的 RPS 和 RT 波动较大并且有较多的 504、502 错误产生,后续基本趋于稳定。

性能指标波动分析插图

性能指标波动分析插图1

locust 启动时孵化率是 200/s,期间我看了下荷载机的 CPU,每个核心的占用基本上不超过 70%
请问下这种情况的原因一般是什么呢?

环境:

后台:golang+MongoDB
服务配置:5*(4C8G)
荷载机配置:16C 32G文章源自玩技e族-https://www.playezu.com/186843.html南京软件测试文章源自玩技e族-https://www.playezu.com/186843.html文章源自玩技e族-https://www.playezu.com/186843.html

 
    • 测试一根葱
      测试一根葱 9

      前面波动的报错具体是什么?还有你的脚本能保证一直稳定的每 5 秒并发一万个请求嘛?先找找自身脚本有没问题,再看报错原因。后续稳定后是都一直请求成功么。还有压力测试时要注意热机,模拟真实场景,不能拿到脚本就开跑。你压测时开始是有请求拥塞的,所以服务器的压力比较大会有波动去处理这些请求,当 TPS 稳定后就会像你后面的一样了,所以这样设计脚本就很有可能出现这种情况。你也可以设定稳定的 QPS 去压测负载机就一台机器吗,兄弟对的,locust 这个工具分布式主要看 CPU 核心数,目前这个负载机配置是够的我还不知道有热机的操作,谢谢提醒。瞎猜,像是前期都没命中缓存,所以性能消耗非常大也慢;后期都命中缓存,就稳定多了。

      不知道你具体的脚本和报错,没法给更多推论了。感觉像没中缓存,后面把缓存都命中了,才呈现出比较稳定的趋势图。可以问下开发,参考下我类似情况的图,前期是波动的,后期平稳@ 陈恒捷 , @oyoyo 阿里云这个统计有点谜

      总共跑了两天 你这个是啥?缓存命中率?

      我只是猜测而已哈,具体你得看接口逻辑才知道为啥前期性能比较差,不一定就是缓存的问题。

    匿名

    发表评论

    匿名网友
    确定

    拖动滑块以完成验证