环境调试:查看接口是否正常。测试数据准备阶段接口请求参数:自己构造/日志获取/上下关联。数据表的数据填充:部分业务数据信息可以直接从数据库或缓存数据库获取。如果是多接口,则需结合业务场景设计请求⽐例。性能指标预期设定阶段每秒请求数(QPS):基于业务进行拆分,比如业务会提出需要再双十一的时候支持每分钟两万的订单。根据这个需求,再去拆分具体有哪一些接口的请求。请求响应时间(最小、最大、平均):需要考虑到用户体验,即使后面能够正常响应,但是请求响应时间不能太长。(通常 C 端不超过 1s,尽量在 200 毫秒内)错误率:基于在性能测试过程中,每个请求不可能百分百成功,但是也要有一个上限的阈值,那么这个阈值是多少。机器性能:cpu memory 无剧烈抖动或者飙升。压测过程接口功能是否正常:不要只关注响应状态码 200,还需要从业务角度来看响应信息是否符合业务需求。
注意:不同性能测试方式下指标预期会有差异。
发压工具配置及脚本编写阶段选择发压工具:根据需求和系统特点选择适合的发压工具。常用的性能测试工具包括 JMeter、LoadRunner、Gatling 等。考虑到测试目标、可支持的协议和工具的易用性。安装和配置发压工具:根据工具的官方文档,下载和安装所选发压工具。然后,根据具体情况进行配置。配置项可能包括服务器地址、并发用户数、请求协议和频率等。确保工具和测试环境的通信设置正确。编写性能测试脚本:根据需要和测试场景,编写性能测试脚本。性能测试脚本用于定义测试场景,包括模拟并发用户行为、设定请求参数和验证响应等。脚本可以使用工具提供的图形界面或编程语言来编写。测试执行&监控阶段测试前环境检查:记录机器参数。起压:根据被压情况,调节并发量到适合的情况。查看记录各项性能指标。nginx 日志查看每秒请求数。查看 nginx 错误请求。查看机器参数:cpu idle、mem 等。查看 db、cache 等数据是否写⼊正常。访问接口,查看功能是否正常。性能测试中的常用命令查看 nginx 每秒请求数命令:tail -f access.log | awk '{print $4}' | uniq -c
tail -f access.log:用于实时监视 access.log 日志文件的内容。awk '{print $4}':使用 awk 命令提取出每行的第 4 列内容。uniq -c:对提取出的内容进行去重计数,即统计每个不重复的值出现的次数。查看某个接口每秒请求数命令:tail -f access.log | grep p_getorderstatus |awk '{print $4}' | uniq -c

命令:vmstat 1
查看内存命令:free -m
查看 nginx 日志是否有错误请求命令:tail -f access.log |cut -d ' ' -f 10 |grep -v 200
tail -f access.log:用于实时监视 access.log 日志文件的内容变化。cut -d ' ' -f 10:使用 cut 命令以空格作为分隔符,提取出日志行中的第十列内容。grep -v 200:使用 grep 命令过滤出不包含 200 的行,即排除掉一切含有状态码为 200 的行。查看进程命令:- top - ps aux|grep xxx
查看 nginx 日志某接口访问数量命令:cat access.log.xxxx|grep p_getorderstatus |wc -l
cat access.log.xxxx:用于查看 access.log.xxxx 文件的内容。xxxx 是日志文件的后缀,可以是日期或其他标识符。grep p_getorderstatus:通过 grep 命令过滤出包含关键字"p_getorderstatus"的行。wc -l:统计行数,即统计包含关键字"p_getorderstatus"的行数。杀进程指定进程号:kill xxx指定部分进程名:pkill xxx⾃定义特征:for i in ps aux | grep xxxx | awk '{print $2}';do kill $i ;done
或者 kill pgrep -f xxxx
ps aux:显示当前系统中所有的进程信息。grep xxxx:通过 grep 命令过滤出包含特定关键字(xxxx)的进程行。awk '{print $2}':使用 awk 命令提取出进程 ID(PID)这一列。for i in...; do kill $i; done:通过循环遍历进程 ID(PID),逐个使用 kill 命令杀死进程。pgrep -f xxxx:通过-f 参数搜索包含特定关键字(xxxx)的进程名,并显示对应的进程 ID(PID)。kill ...:使用 kill 命令杀死搜索到的进程 ID(PID)。查看 TIME_WAIT 数量ss -snetstat -tnlp |grep TIME_WAIT|wc -l测试报告输出阶段根据测试过程中记录的各项参数,结合压测⼯具产生的⽇志,对测试结果进行分析,并产出测试报告。测试完成后,及时与相关人员沟通,确认是否满⾜需求。发送测试报告邮件。总结为什么要制定性能测试计划。性能测试计划的流程。性能测试中的常用命令。软件测试开发免费视频教程分享 - 公众号 - 测试人社区