- 1 物料的提前准备工作
- 1.1 预估需要数据
- 1.2预估接口需要的状态
- 1.3 预估依赖上游接口参数
- 1.4 数据流转
- 2 qps
- 2.1 qps是什么
- 2.2 qps流量评估
- 3 单接口压测
- 3.1 小流量压测
- 3.2 阶梯示爬坡压测
- 3.3 爬坡后持续峰值
- 4 混合压测
- 4.1 双机房混合压测
- 4.2 单机房混合压测
- 5 压测或线上服务器挂了怎么办
- 5.1 限流
- 5.2 切流
- 5.3 熔断降级
- 5.4 cpu报警扩容
- 6 压测数据性能指标
- 6.1 p90 p95 p99 p995
- 6.2 错误码场景分析
- 6.3 CPU使用率
- 6.4 内存使用率与内存使用量
如:需要多少个用户 = qps * 压测时长 (s为单位)
360w用户数据 = 1000qps * 360s
如:限时拉新红包请求时需要获取redis内的缓存 如果未发现缓存会报错
那么我们就需要提前构造数据 先通过开宝箱的方式来获取缓存 并且我们也要通过配置中台的配置来设置好前几个宝箱为能获取到redis的宝箱奖励
是否有其他也业务方的状态依赖
如:助力次数增加/增加钥匙/新用户状态/初始化用户等等
因为需要模拟真是线上状态压测 所以需要提前准备符合线上状态的场景
压测接口需要依赖上一个接口的返回参数
如:开宝箱时需要获取home接口的宝箱位置来判断 进行效验 如果不符合db内的位置则无法开启宝箱进行下一步 *** 作
这种情况需要接口并行请求
当场景需要对qps进行分流时 就要用到接口的数据流转
2 qps 2.1 qps是什么每秒请求访问次数2.2 qps流量评估
1. 根据app的qps流量地图 到活动链路接入层qps入口推断3 单接口压测 3.1 小流量压测
准备好压测数据后 可以先从500qps的小流量进行实验压测 下游依赖方是否可以获取到数据
小流量压测后 通过阶梯爬坡的方式 逐步升至峰值qps
如:4.5ww qps 初始1w 60s爬坡 每次爬1w 爬四次至峰值 持续60s
当阶梯爬坡后没有问题时 就可以进行持续峰值压测
如:4.5w qps 初始5w 60s爬坡 持续360s
正常情况下混合压测采用双机房
4.2 单机房混合压测压测单机房目的是为了 如果其中一个机房出现问题 那么另一个机房可以承受住双机房带来的压力
5 压测或线上服务器挂了怎么办 5.1 限流超压测流量会触发限流 给用户返回一个被限流的状态
5.2 切流CDN运营商不可用/域名不可用/IP不可用
5.3 熔断降级外部底层依赖挂掉或出现异常 会触发降级预案 各个依赖业务方会产出不同的降级预案
5.4 cpu报警扩容当cpu内存过高时会触发报警 对cpu进行扩容处理
6 压测数据性能指标 6.1 p90 p95 p99 p995接口耗时p99 前99%用户 p95 接口耗时前99.5%用户
6.2 错误码场景分析根据错误码推断错误原因与问题类型
6.3 CPU使用率1 cpu使用率越高 cpu的百分比性能越差 80%不等于两个40%
2 cpu使用率过高报警后会出现限流
3 cpu使用率过高处理方法 优化代码方法的处理逻辑 如果代码过于复杂 或者排期进度紧张 那么就只能通过扩容的方式来处理
4 单机房cpu使用率预期60%以内
5 双机房cpu使用率预期30%以内
内存使用率与cpu的指标类似 可以判断内存使用率多少 当前的内存使用量是多少
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)