jmeter
概念/术语
QPS(Queries Per Second)是指每秒能够响应的查询次数,也即是最大吞吐能力(吞吐量)。
性能测试,有很多专业术语,为了方便大家理解,这里用通俗的语言来解释下,如果有不准的地方,欢迎反馈。
并发:tps
线程数:跑道里参加赛跑的人数
迭代(jmeter中叫做循环次数):每个人跑多少圈
循环(jmeter中是循环控制器):一次迭代里面,反复执行其中一段脚本,就是反复来回跑其中一段跑道
参数值:发请求时候用的数据
参数化:是一种策略,可以根据参数策略获取参数值,参考:https://www.cnblogs.com/uncleyong/p/10702700.html
思考时间:模拟用户等待的时间
关联:下一个请求入参依赖上一个请求的某个返回值,参考:https://www.cnblogs.com/uncleyong/p/10702702.html
检查点:判断请求是否成功,一般只有查询请求才加检查点
集合点:同一时刻去发起请求,主要应用场景是秒杀
事务:一般把被测的某个或者某几个请求一起定义为一个事务,是人为的测试定义
负载:服务器的繁忙程度,如果一个8c的服务器,每次可以同时处理8个请求,如果请求量大,后面的请求就排队,排队的请求越多,服务器的负载就越高
平均响应时间(art):每个事务的处理时间,从发送请求到接收到响应
tps:每秒处理的事务数(和qps:https://www.cnblogs.com/uncleyong/p/11059556.html)
每秒点击率(数):每秒处理的请求数,而不是用户每秒发送的请求数
场景:设置并发策略,模拟用户使用的场景
分析:场景运行完,生成各种维度的结果
安装
需要先安装java8,并配置环境变量。
版本 5.5
把jmeter安装目录下的bin/jmeterw.cmd发送到桌面快捷方式,以后双击它就可以打开了。
集群安装
https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html
controller node + worker node
命令行
jmeter -n -t [jmx file] [-p property-file] [-l results-file] [-j log-file] -e -o [Path to output folder]
# eg, jmeter -n -t app-user.jmx -l result.j -e -o report
# -n –> no-gui
# -t –> testplan
监控
jmeter + grafana + influxdb
grafana 和 influxdb 均有docker版本,它们的组合配置见influxdb/README.txt
jmeter配置示例见“jmeter发送数据到influxdb2的示例.jmx”。
Grafana版本尽量是v8.3.3,用v6.5.1无法导入influxdb2的监控。
示例
官方示例目录在apache-jmeter-5.5\printable_docs\demos中。
附件见jmeter-assets目录。
datatist-dev2-requests.jmx:测试计划,包含登录、存cookie;请求接口、解析响应的json、断言等。
jemeter-handleType.jmx:当需要传输request payload时,需要1)配置Http header Manager中添加Content-Type的值为application/json;charset=utf-8;2)HTTP request中的Body Data中配置 {}即可。
参考
最后编辑:admin 更新时间:2025-09-19 10:08