压力测试之常见容量故障案例与避坑指南

2022-09-14 16:18:47 浏览数 (2)

云组件

检查项

案例

全球加速

ECDN

限频: 压测时需绕过ECDN

20200506,项目压测经过ecdn,导致触发了ecdn单个ip的限频

安全产品

WAF

限频: 确保WAF套餐配置达到容量要求

20200602,某项目中使用的WAF的QPS套餐最大10w,导致压测QPS达到10w后出现限频

限频: 确保压测机IP被添加到安全打击白名单

20200605,某项目压测时未将压测机IP未加入白名单,导致触发WAF限频,接口QPS曲线不平稳

连接方式:确保回源连接方式为长连接,短连接需解释

20220510,系统中WAF的回源方式设置为短连接,压测时接口耗时超过1分钟,QPS曲线出现断层掉坑

高防IP

带宽: 确保高防IP带宽达到容量要求

20210101,某项目中的高防IP的带宽只有100M(压测时流量达到300M),导致核心接口压测时出现瓶颈

NAT边界防火墙

模式:确保接入模式(natfw nat网关)下的连接数不超过6w

20210621, 系统使用的NAT边界防火墙配置的模式为接入模式,在这种模式下1个NAT网关对应只分配一个出ip,最大内部连接数是65535左右,导致端口耗尽,接口压测出现连接超时报错

网关/负载

负载均衡策略

策略: 轮循而非会话保持

20220824, 某项目迁移政务云,网关1.4版本,默认会话保持策略,导致近10人团队排障一整晚,当天压测任务未完成

CLB

带宽:确保调整带宽后再做压测(默认带宽配置值较低)

20220124, 某项目研发团队在创建资源后未核实参数(CLB使用默认1MB带宽),导致部署后排障,耗时三天三夜。

NAT网关

EIP个数:确保网关绑定的EIP个数有冗余

20220409,某现网系统故障6小时,互联网出口SNAT IP只配置了1个,EIP个数不够,互联网出口在调用微信网关处出现瓶颈。

F5

服务类型:确保配置的协议类型符合预期

20220627,某私有化项目,应用服务与数据库Proxy之间的F5负载,由于服务类型配置为HTTP,不符合预期(要求为TCP类型),导致接口耗时增加,QPS曲线出现严重掉坑

数据库

Redis

带宽:确保最大网络吞吐量达到容量要求

2020820,某项目中的redis的最大网络吞吐量设置为24M/s,导致接口日志出现限频,带宽调整到3G后,问题解决

连接池:确保开启共享连接池

20200907,Redis连接池没有开启共享连接,流量只打到部分proxy上,触发了单Proxy流量控制,连接池开启共享连接,并增大连接数后,126台proxy的负载均衡

扩容:部署集群版而非标准版

20200111,某项目的系统一开始使用Redis标准版,低估了业务请求量,但后续考虑到性能还是切换到集群版,额外增加了几个晚上的验证时间

TDSQL

shardkey:建表是否指定shardkey

20201229,系统使用tdsql,业务表没有指定shard-key,此时相当于只有一个单表,数据默认放在第一个分片,导致tdsql的2个分片中的一个分片出现cpu利用率达到200%

其他

CVM

超卖:确保机器不存在cpu超卖问题

20220704,某私有化项目使用的太极云的机器出现严重的超卖现象,导致系统容量上不去,踢除超卖严重的机器后,容量有提升

0 人点赞