目录
1 Windows
1.1 jmeter安装
下载安装包
解压到指定位置配置环境变量
启动
1.2 汉化
1.3应用
1.1.1创建线程组
1.3.2设置线程数
1.3.3添加协议及相关配置
1.3.4添加监听器
1.3.5启动
1.3.6查看结果
2 Linux
2.1 jmeter安装
2.2 Linux虚拟机设置
2.3启动
3 压测报告
前提:安装配置jdk8
官网:https://jmeter.apache.org/download_jmeter.cgi
Win+R
输入jmeter即可
添加language=zh_CN后保存重启jmeter即可
线程组参数详解:
1. 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。
2. Ramp-Up Period(in seconds)准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,也就是每秒钟启动5个线程。
3. 循环次数:每个线程发送请求的次数。如果线程数为10,循环次数为100,那么每个线程发送100次请求。总请求数为10*100=1000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
4. Delay Thread creation until needed:直到需要时延迟线程的创建。
5. 调度器:设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远)
持续时间(秒):测试持续时间,会覆盖结束时间
启动延迟(秒):测试延迟启动时间,会覆盖启动时间
根据各自情况酌情配置:
若请求报文中字段需从外部导入,则:
点击启动按钮
查看结果树
可以看到每次请求的请求报文,响应数据
聚合报告
聚合报告参数详解:
1. Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
2. #Samples(样本):请求数——表示这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
3. Average(平均值):平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,以Transaction 为单位显示平均响应时间
4. Median(中位数):中位数,也就是 50% 用户的响应时间
5. 90% Line(90%百分位):90% 用户的响应时间
6. Min(最小值):最小响应时间
7. Max(最大值):最大响应时间
8. Error%(异常):错误率——错误请求数/请求总数
9. Throughput(吞吐量):吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
10、Received KB/sec(接收KB/sec):每秒从服务器端接收到的数据量;
11、Sent KB/sec(发送KB/sec):每秒从客户端发送的请求的数量。
一般而言,性能测试中我们需要重点关注的数据有: #Samples 请求数,Average 平均响应时间,Min 最小响应时间,Max 最大响应时间,Error% 错误率及Throughput 吞吐量。
计算公式:
tps = 服务器处理请求总数* (1-失败数) / 花费的总时间
tps = samples * (1-error) / runntime
图形结果
前提:安装配置jdk8
cd /opt/
mkdir jmeter
cd jmeter
wget https://mirrors.bfsu.edu.cn/apache//jmeter/binaries/apache-jmeter-5.4.1.tgz
1.编辑profile文件
vim /etc/profile
2.添加环境变量,内容如下
export JMETER=/opt/apache-jmeter-5.3
export CLASSPATH=$JMETER/lib/ext/ApacheJMeter_core.jar:$JMETER/lib/jorphan.jar:$JMETER/lib/logkit-2.0.jar:$CLASSPATH
export PATH=$JMETER/bin/:$PATH
3.添加完成后,没有马上生效,需要输入命令source /etc/profile (相当于执行了一次环境变量文件);
4.查看jmeter是否配置成功
jmeter -v
Linux系统随机端口
默认Linux系统开启的随机端口范围为 32768 ~ 65535。客户端连接服务监听端口需要使用到随机端口连接。
Linux系统随机端口调优
1、添加内核配置参数:/etc/sysctl.conf
net.ipv4.ip_local_port_range = 1024 65535
2、生效内核参数
sysctl -p /etc/sysctl.conf
相关参数:
命令一:
jmeter -n -t login.jmx
日志默认输出路径同 jmx 脚本路径
命令二:指定结果文件及日志路径
jmeter -n -t login.jmx -l result.csv -j login-log.log
控制台日志如下:
分析:
第一条数据:23秒跑了39463条请求,吞吐量为1737.1/s,Avg为平均响应时间6ms,最小时间Min,最大时间Max,Err为失败条数(失败占比)
结果文件类型为 jtl 或 csv,可通过JMeter的聚合报告浏览结果文件,查看最终的结果
若存在异常结果,可直接查看csv文件,csv文件中有每条请求的请求报文,响应报文,相关参数等等。
简单记录,如有问题,欢迎指正。