1.压测需求分析

提炼出隐性的性能指标:如qps达到200;响应时间不超过500ms;错误率0;

2.压测数据准备

A.可以从现实拉日志做压测请求数据的;直接通过kibana或者让运维把日志中的请求过滤出来作为压测的请求数据
B.新服务没有真实的线上请求,接口参数值是可枚举的,自己造请求;不可枚举的话,根据接口的不通过功能进行分类压测或混合压测

3.压测环境准备

1.检查压测服务部署的机器资源,保证服务申请的机器资源充足,不要因为机器资源不足的原因导致压测数据很差

常见问题:容器宿主机资源不足,压测前,先找容器小助手协调资源(暂时);已提需求给容器平台去做,支持压测功能,单独提供压测机器进行压测

4.编写压测脚本

1.通用脚本:使用jmeter进行梯度压测,获取每个梯度的压测数据;比如设置梯度的初始值为cpu个数的线程数(如cpu核数申请的是8,那梯度的初始值就为8;梯度最大值设置为80;递增值为8;设置每次递增后持续压测300s)

5.执行压测脚本

6.分析压测数据,得出压测结果

压测通过标准:
1.机器cpu、内存、网络、磁盘资源不过载的情况下;能达到性能指标【如qps达到200;响应时间不超过500ms;错误率0;】

压测不通过标准:
1.不符合压测通过的标准均视为压测不通过

7.压测性能瓶颈排查

1.排查是否是机器资源、宿主机资源不足导致;主要注意CPU和内存使用情况

2.排查有无依赖,有依赖排查是否是依赖服务响应时间过长导致(如果是依赖服务响应超时,可以通过mock服务解决依赖问题)

3.排查是否是程序本身问题

常用性能监测的linux命令:

hive 压测 测试个啥 压测程序_压测

8.编写压测报告

1.描述压测通过的标准
2.描述压测数据来源
3.描述压测环境
4.描述压测数据
5.描述压测结果