性能测试基础
- 负载测试:大量的用户同时访问服务器,查看服务器的性能指标。
- 压力测试:一定的用户长时间访问服务器,查看服务器的性能指标。
性能指标
线程组属性
- 线程数:执行任务的用户数量
- ramp up:创建线程数的时间,会将时间平均分配
- 循环次数:每个用户执行几次任务
- 调度器
- 持续时间:需要结合循环次数永远使用,会控制用户执行多长时间的任务
- 启动延迟:等待几秒再去执行任务
聚合报告
- 统计所有请求的大概情况
- 右击-测试计划-添加-监听器-聚合报告
同步定时器
- 可以让用户在同一时间一起执行任务
- 填写参数
- 模拟用户组的数量:多少人一起执行任务
- 超时时间:等待用户集合的时间,在时间内不论有没有集合完毕,都需要去执行任务
- 注意:需要将时间设置为比创建一组用户时间大一些的时间
常数吞吐量定时器
- 是规定每个用户每秒钟发送多少个请求的
- 右击线程组-添加-定时器-常数吞吐量定时器
- 填写参数
使用命令行运行jmeter脚本
- jmeter -n -t 测试脚本的路径 -l 保存结果的路径(文件名必须以.jtl结尾)-e -o 保存html测试报告的路径
- -n :以非图形化界面的形式运行jmeter
- -t:source.jmx 脚本路径
- -l:运行结果保存路径
- -e:在脚本运行结束后生成html报告
- -o:保存html报告的路径
nmon工具
- nmon是一款性能系统监控工具,广泛应用于Linux系统。
- nmon_analyze是一个nmon数据分析工具。
收集服务器的性能指标
- nmon -f -s 每隔几秒收集一次 -c 收集几次 -m 保存文件的路径
- 需要将文件传输到本地
- scp 用户名@服务器的ip地址:文件的绝对路径 本地的绝对路径
- 使用nmon_analyze工具进行分析
jmeter分布式
由多台电脑共同完成同一个任务部署,我们称这种部署为分布式部署。
- 使用分布式的前提:电脑的系统,jmeter的版本,Java的版本要相同
- 进行配置
- 执行机 -jmeter.properties文件进行设置
- 修改#server.rmi.ssl.disable=false 为server.rmi.ssl.disable=true
- 修改#server port=1099 为 server port=1099
- 控制机 -jmeter.properties文件进行设置
- 修改#server.rmi.ssl.disable=false 为server.rmi.ssl.disable=true
- 在remote_hosts = 127.0.0.1:1099,后面添加执行机的ip地址
- 执行机
- 控制机
- 打开jmeter-server.bat 和 jmeter.bat文件
日志文件
- 查看日志的命令
- 日志的路径包括格式都是由开发人员定义的,想要过滤时,先看日志都有什么
curl工具
- 可以在抓包过程中复制接口的全部信息,并且能原模原样的导入进去
- 开发给的接口信息可能给的是curl,拿到后直接在postman中的import 里的Raw text中粘贴即可。
加签
- 给接口添加签名,一般都是添加一个参数叫做sgin
- 加签的目的是防止数据被篡改
时间戳
token
- 是一串字符串,类似于cookie,是一个身份令牌,用来验证身份的,可以用来自动登录
- token的目的是为减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮