《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.3 平台网站业务稳定性保障——5.3.2 全链路压测与容量评估(2) https://developer.aliyun.com/article/1231900?groupCode=supportservice
6.创建JMeter压测场景
场景配置:
1. 配置场景名称
2.上传JMeter脚本文件(这里客户只用到了JMeter环境并没有依赖,直接将jmx
脚本上传即可)
施压配置:
压力来源:这里根据客户压测场景来选择,如果是模拟用户访问,选择公网即
可。如果是压测内网环境链路,本案例是模拟用户访问,所以这里选择公网,内网压测可以参考阿里云官方文档:
https://help.aliyun.com/document_detail/74530.html
压力模式:PTS支持并发模式和RPS模式,用户这里主要是针对并发的压测,所以选择并发模式。
RPS模式:即吞吐量模式,通过设置每秒发出的请求数,从服务端的角度出发,直接衡量系统的吞吐能力。
流量模型:分为手动调整、均匀递增和阶梯递增,这里使用默认的匀速递增即
可,可以查看到并发的上限。
本案例使用的默认配置,分别进行了一万和十万并发通过匀速递增的方式进行压测,当客户并发达到2万并发的时候已经触发了瓶颈,通过查看监控,核实是RDS数据库资源被打满,客户进行了慢SQL优化,优化后并发可以达到4万。
7.查看压测报告
重点指标如下:
•请求成功率:压测请求的成功率
•平均RT: 压测请求的响应时长(ms)
•TPS:每分钟处理的事务数
•并发:多个用户同时进行请求
•异常数:请求失败的数量
这里主要关注成功率、平均RT、TPS几个参数:在保证成功率的情况下确认下
RT响应时长,然后查看网络、集群资源、中间件、数据库等资源使用情况,测试出影响程序成功率和RT响应时间的瓶颈,然后进行相应的优化。
根据对应的压测报告可以精准的核算出在不同的QPS区间平台网站的压力表现,这样就能够实现在不同业务高峰低估业务容量的推算,在实现成本控制的同时实现平台稳定性的保障。