一、Jmeter安装
①前置条件(jdk)②安装源 二、jmeter编写测试脚本
1、编写脚本(建议window下编辑)
①基础层级结构②新建测试脚本
1、配置进程数(用户数)2、配置请求讯息3、数据源配置(可选)
(1)定义cvs格式(2)配置cvs配置文件 4、监视器配置(可以安装其他拓展)
(1)View Results Tree (结果树)(2)Summary Report (汇总报告)(3)Aggregate Report(聚合报告)(4)Backend Listener(后端监听器) 2、执行测试脚本
(1)window(2)Linux 三、调试可能遇到的问题
①乱码问题
一、Jmeter安装①前置条件(jdk)下列说明以5.4.3版本为举例版本,对于jdk最低要求为8+
②安装源若为全局安装则无需配置jdk地址:
具体jdk软件包可以参详:软件版本记录
纠结open/oracle jdk参详:Open/Oracle JDK8 选择困难?
参照上图进行搭配下载
二、jmeter编写测试脚本1、编写脚本(建议window下编辑)再次提醒,需要安装jdk。若为安装包安装无需配置,否则需要配置全局JAVA_HOME
①基础层级结构举例使用window系统举例,以基础性http请求为样例
通常脚本进程需要几个点,通常层级代表生效位置,往下辐射
②新建测试脚本线程组
|
采样器
|--------------------------|-----------------------------|——————|
配置元素 ------ 前/后置处理器 ----------- 定时器 -------- 监视器
1、配置进程数(用户数)线程组说明
① Threads Group
默认执行的线程组
②setUp Threads Group
默认执行组之前执行的线程组(提前铺路)
③tearDown Threads Group
默认执行组之后执行的线程组(收尾)
2、配置请求讯息Number of Threads : 模拟进程数/用户数
Ramp-up period: 特定秒启动完所有线程
Loop Count: 循环次数
3、数据源配置(可选)这里主要是建议注意配置Content encoding
(1)定义cvs格式图二中,以$(paramter)格式标记的值数据源可以从额外配置的 config Element内csv去获取
(2)配置cvs配置文件实际上就是配置一个excel表格,以csv形式保存
4、监视器配置(可以安装其他拓展)Filename: 选择刚刚修改的数据源文件
Variable Names: 这里针对CSV表格内的每一行,对应你变量的值
Ignore first line: 若第一行作了说明,则可以为true来跳开第一行
用来更好的分析数据,除了默认的几个,其实还可以去获取更多的插件
下载地址: https://jmeter-plugins.org/downloads/old/
下载该插件后解压,包放在jmeter安装目录的libext路径下,重新启动jemter即可。
(1)View Results Tree (结果树)以上为当前版本默认自带监视器(基本够用)
仅作调试,实际压测建议关闭,日志多少影响io,导致最终结果受影响(不过还是看日志量而定)
可以用来查看请求过程中的请求头/载体/结果等基本讯息
若需要输出日志
(2)Summary Report (汇总报告)可以勾选单选项选则筛选结果,且选择输出文件位置即可,其中参数可以在configure配置
默认为jtl文件,若需要保存为xml,也需要先configure中设置
(3)Aggregate Report(聚合报告)#Samples: 取样器运行次数
Average :请求(事务)的平均响应时间
Min: 请求的最小响应时间
Max :请求的最大响应时间
Std. Dev: 响应时间的标准方差
Error % :事务错误率
Throughput: 吞吐量 也就是TPS
Received KB/sec: 每秒收到的千字节
Sent KB/sec: 每秒发送的千字节
Avg. Bytes: 响应平均流量
(4)Backend Listener(后端监听器) 2、执行测试脚本聚合报告,记录总请求数、错误率、用户响应时间、吞吐量等
#Samples : 表示测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里就显示对应的 HTTP Request的执行次数是100
Average : 平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间
Median : 50%用户的响应时间
90%Line : 90%用户的响应时间
Min : 最少响应时间
Max : 最大响应时间
Error% : 出现错误的请求的数量/请求的总数
Throughput : 吞吐量,默认情况下表示每秒完成的请求数
sent KB/sec : 每秒接收到的数据量
(1)window-n :非 GUI 模式
-t :测试脚本
-l :记录结果的日志 通常 jtl后缀
-r :远程执行
-H :远程执行代理主机
-P :远程执行的端口号
最直接的是直接点击上方执行
命令行:
安装基础目录下
设测试脚本为:test.jmx
.binjmeter -n -t .test.jmx -l ./test.jtl(2)Linux
安装基础目录下
设测试脚本为:test.jmx
Tips: 对应若设置了数据源或输出监视器路径,记得更改相对地址
.binjmeter -n -t .test.jmx -l ./test.jtl三、调试可能遇到的问题 ①乱码问题
我们可以通过增加后置处理器来处理
在script处增加
prev.setDataEncoding("UTF-8")



