性能测试/压力测试 话术
一般情况下,性能测试是针对接口来操作的,需要关注下面几个指标
- 需满足的并发数(qps)
- TPS(每秒处理事务的能力)
- 响应时间(平均响应时间、90%响应时间)
- 错误率
假如系统每天活跃用户数有8W左右,平均在线时长10分钟
那么接口需要满足的并发请求数为:500左右,TPS大概在100左右
所以可以直接使用Jmeter或者ApacheBench针对500并发分层对接口进行请求操作。
- 响应时间
根据在并发情况下的响应时间2/5/10原则,最长不能超过10s
- 错误率
具体系统具体要求,一般小于万分之一
- 缓存命中率
具体系统具体要求,一般大于85%通过,可以进入redis数据库,通过命令 keys * 来查看
- CPU占用率
70% 好,85% 坏,90%+ 很差 通过top命令来查看
- 内存使用率
一般小于80%通过 通过free命令来查看
如果需要记录具体的性能测试日志,可以使用下面的命令,通过指定进程号来记录性能测试信息:
使用命令查看CPU、内存变化情况:
top -b -d 1 -p 27854 > 0904log
查看进程号命令
ps ef |grep acs-job
若重启服务器后,pid会发生变化,必须重新获取
性能测试----阶段 1
性能测试:以系统设计初期规划的性能指标为预期指标,对系统不断施加压力,验证系统在资源可接受的范围内,是否达到性能预期。
负载测试----阶段 2
负载测试:对系统不断的增加并发请求以增加系统压力,直到系统的某项或者多项性能指标达到安全临界值,
如某种资源已经饱和状态,这时候继续对系统施加压力,系统的处理能力不但不能提高,反而会下降。
压力测试--阶段 3
压力测试:超过安全负载的情况下,对系统继续施加压力,直到系统崩溃不能再处理任何请求,以此获得系统最大压力承受能力。
稳定性测试
稳定性测试:被测试系统再特定硬件,软件,网络环境条件下,给系统加载一定业务压力,是系统运行一段较长时间,以此检测系统是否稳定。一般情况下,可以编写测试脚本配合crontab定时任务进行稳定性测试,测试周期大概在3天左右