server端压力测试

server端压力测试,第1张

server端压力测试

server端压力测试
    • 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 内存使用率与内存使用量

1 物料的提前准备工作 1.1 预估需要数据
如:需要多少个用户 = qps * 压测时长 (s为单位)

360w用户数据 = 1000qps * 360s
如:限时拉新红包请求时需要获取redis内的缓存 如果未发现缓存会报错
那么我们就需要提前构造数据 先通过开宝箱的方式来获取缓存 并且我们也要通过配置中台的配置来设置好前几个宝箱为能获取到redis的宝箱奖励

1.2预估接口需要的状态

是否有其他也业务方的状态依赖
如:助力次数增加/增加钥匙/新用户状态/初始化用户等等
因为需要模拟真是线上状态压测 所以需要提前准备符合线上状态的场景

1.3 预估依赖上游接口参数

压测接口需要依赖上一个接口的返回参数
如:开宝箱时需要获取home接口的宝箱位置来判断 进行效验 如果不符合db内的位置则无法开启宝箱进行下一步 *** 作
这种情况需要接口并行请求

1.4 数据流转

当场景需要对qps进行分流时 就要用到接口的数据流转

2 qps 2.1 qps是什么
每秒请求访问次数
2.2 qps流量评估
1. 根据app的qps流量地图 到活动链路接入层qps入口推断
3 单接口压测 3.1 小流量压测

准备好压测数据后 可以先从500qps的小流量进行实验压测 下游依赖方是否可以获取到数据

3.2 阶梯示爬坡压测

小流量压测后 通过阶梯爬坡的方式 逐步升至峰值qps
如:4.5ww qps 初始1w 60s爬坡 每次爬1w 爬四次至峰值 持续60s

3.3 爬坡后持续峰值

当阶梯爬坡后没有问题时 就可以进行持续峰值压测
如:4.5w qps 初始5w 60s爬坡 持续360s

4 混合压测 4.1 双机房混合压测

正常情况下混合压测采用双机房

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%以内

6.4 内存使用率与内存使用量

内存使用率与cpu的指标类似 可以判断内存使用率多少 当前的内存使用量是多少

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3975157.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-21
下一篇 2022-10-21

发表评论

登录后才能评论

评论列表(0条)

保存