声明这里只是面向RD
的、简单的、为摸清服务性能相关的自压测笔记!!!正规压测请向QA
同学请教。
常用术语
- QPS:每秒请求数,也是吞吐量。
- 内存使用情况
- CPU使用情况:针对计算密集型的项目
- 平均响应时间:RT
- 错误率
- LOAD值:衡量CPU的繁忙程度。
l
o
a
d
=
活
跃
的
进
程
数
C
P
U
核
数
load=\frac{活跃的进程数}{CPU核数}
load=CPU核数活跃的进程数
- 并发数
- 循环数:影响压测时间。一般性能压测10 ~ 20分钟。稳定性压测需要至少1~2小时
流程及注意事项
- 首先确定待压测环境是有效的;
- 压测时, 一点一点加压
-
请求数对标真实请求量的单位量级。比如实际请求是千万级,那么压测请求数要以
10000
起,万递增
-
并发数从X开始以Y递增。一般先1并发压一下,看看基准响应时间,然后一般负载失效区的响应时间是基准响应时间的4倍
- 观察各系统数据(
QPS
,RT
,CPU使用率
,内存使用率
,错误率
等)
-
如果增大并发数,CPU资源利用率几乎不变化而且很低,说明已到下图的重负载区,需要排查下瓶颈在哪里,比如连接配置,线程数
- 正常压测需要压到
CPU资源使用率>=80%
,记录相关请求数、并发数、QPS、平响等数据
- 压测过程中,一旦系统出现问题,不管当时观测到的各种指标有没有问题,都要立即停止压测,后续持续观测,确定和压测无关后,重新进行;若和压测相关,需明确问题,解决问题后再次进行
常用工具
ab 命令
ab命令批量压测脚本
Jmeter
- 下载
- 启动:进入安装包的路线,运行可执行文件,稍等片刻会有
UI
操作界面弹出
cd path_to_apache-jmeter-5.1.1/loo
sh bin/jmeter
- 按照教程设置参数。
设置并发和请求数。
如果域名除了ip和端口还有其他的,写到path
那里
每次压完记得清零呀