server 端压力测试

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使用率

![在这里插入图片描述](https://img-blog.csdnimg.cn/f08f680574ec446e830894ebf7e71b03.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5LiN6IO955-l6YGT5oiR5piv6LCB,size_20,color_FFFFFF,t_70,g_se,x_16

1 cpu使用率越高 cpu的百分比性能越差 80%不等于两个40%
2 cpu使用率过高报警后会出现限流
3 cpu使用率过高处理方法 优化代码方法的处理逻辑 如果代码过于复杂 或者排期进度紧张 那么就只能通过扩容的方式来处理
4 单机房cpu使用率预期60%以内
5 双机房cpu使用率预期30%以内

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

![在这里插入图片描述](https://img-blog.csdnimg.cn/c64d17132f2a43f7921d3a586a208ff1.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5LiN6IO955-l6YGT5oiR5piv6LCB,size_20,color_FFFFFF,t_70,g_se,x_16
内存使用率与cpu的指标类似 可以判断内存使用率多少 当前的内存使用量是多少

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值