性能场景之稳定性场景
提起稳定性测试,有人会说7*24小时跑脚本,连续执行2天两夜,跑一晚上..............,个人觉得这些都没有任何依据,脚本的执行时间难道是一拍脑袋想多少就多少?我非常不赞同这些观点,凡事又要有依据,比如7*24小时执行脚本,是根据什么判断执行7*24小时后就一定没有问题,线上就一定不会出现问题呢?
那么,稳定性场景应该怎么设计呢?
个人认为设计稳定性场景只需要考虑2个关键点,运行时长和压力量级,下面针对这两个关键点进行说明
为什么说运行时长是一个重要的关键点呢?我们先想一想稳定性场景的目标是什么呢?
稳定性场景主要看的是系统提供长时间服务时的性能稳定性,观察系统在长时间运行过程中出现的累积效应。因此,运行时长是稳定性场景中非常重要的一个指标。
那么运行时长我们要依据什么设定呢?这里就要关系到运维啦,我们线上的系统一般都会有固定运维周期,当然也有没有运维周期的。
有固定运维周期的,例如

对于有固定运维周期的系统,稳定性场景的运行时长就很容易计算出来啦,我们根据线上业务系统的数据统计,看一下系统在固定周期内最大业务量是多少。
例如 在一个运维周期内系统的最大业务量是10000000,而在混合场景中最大TPS是1000,那么
运行时长=10000000/1000TPS/3600s=2.77小时
对于有固定运维周期的,上面的业务量 运行时长3小时足够啦,不需要浪费资源的去执行更长的时间
没有固定运维周期的系统,这种系统我们应该怎么计算运行时长呢?我们可以看一下固定周期内,比如一个月的累计业务量是多少,比如一个月业务累积量为10000000,那么3个月累计就是30000000,
运行时长=30000000/1000TPS/3600s=8.3小时
知道了运行时长,接下来就是压力量级,之前看网上有人说压力量级使用混合场景最大TPS的80%来运行,目的是保障系统能持续稳定运行,我这边建议直接使用混合场景的最大TPS来运行,因为我们做稳定性测试就是要看系统在最大容量时候的运行情况。
其他几个要注意的点:
在做稳定性场景时候一定要注意参数化数据,避免数据不够导致执行一半时候报错
在做稳定性测试时候一定要提前设置好监控,因为稳定性执行的时间较长,如果没有设置好监控,定位问题就需要重新跑一遍。
稳定性场景就先到这里吧。后面实战时候再补充细节。
作者:覆手倾天下
链接:https://www.jianshu.com/p/dd7527da4bfd
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)