编写日期:2019年1月22日
编写目的:介绍Jmeter基本使用方法,给公司其他人员测试接口
作者:sw
Jmeter是什么
Jmeter是一款接口测试工具,提供Websocket、Http等服务的测试 ,并且支持高并发与分布式。
Jmeter安装
1.下载Jmeter5.0
2.安装JDK
3.双击\bin\ApacheJMeter.jar文件,如果成功显示Jmeter主页,证明安装成功。
Jmeter基本使用方法
关联用法
后置-》正则
模板: 固定写法
一个变量:$1$
两个变量:$1$$2$
三个变量: $1$$2$$3$
引用:${引用名称}
无GUI生成报表
jmeter -n -t test.jmx -l result.jtl -e -o ./res
参数说明:
● -n: 非GUI模式执行JMeter
● -t: 执行测试文件所在的位置
● -l: 指定生成测试结果的保存文件,jtl文件格式
● -e: 测试结束后,生成测试报告
● -o: 指定测试报告的存放位置
JTL生成HTML报表
jmeter -g Taobao.jtl -o ./Taobao
Jmeter分布式启动
原理
Jmeter工作原理可以做一个比喻:用一台电脑做“将军”,其他电脑做“小兵”,当开始测试时,将军发号“施令”,小兵便开始“进攻”。“将军”又称Master或Client,小兵又称slave
前置条件
安装JDK(建议安装64位JDK)(32位JDK只支持1.4G的Heap空间)
配置
slave机配置
设置slave机端口 (找到slave机器中的jmeter.properties文件,设置server_port=你的端口号,server.rmi.localport=你的端口号)
关闭ssl(jmeter.properties->server.rmi.ssl.disable=true)
打开Jmeter.bat,调节HEAP大小(解决卡死问题)(32位最高1.4GHEAP空间)
运行jmeter-server.bat,复制IP和端口号
master(client)机配置
1.打开jmeter.properties文件
- 将上一步复制的主机和端口号,填写在这里(多个slave用逗号分隔)remote_hosts=10.13.223.202:1000,10.13.225.12:1000
启动服务
方式1
打开Jmeter的GUI界面,选择菜单栏运行->远程启动即可
方式2
命令行携带-r参数即可(远程机在jmeter.properties中的remote_hosts配置)
jmeter -n -t TheJmxName.jmx -r -l saveJtlName.jtl -e -o ./reportSaveDir
常见问题
slave机启动了,但是一直卡住,master机器接受不到消息
方案:请检查机器是否又多个网卡,若存在多个网卡,先禁用多余网卡,然后重试,检查是否解决。
报以下错误
Server failed to start: java.rmi.server.ExportException: Listen failed on port: 1888; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (系统找不到指定的文件。)
An error occurred: Listen failed on port: 1888; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (系统找不到指定的文件。)
errorlevel=1
解决办法:关闭ssl(server.rmi.ssl.disable=true)
卡死
set HEAP=-Xms512m -Xmx4000m
Address already in use : connect
修改操作系统注册表
regedit->找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters
->新建 DWORD值,name:TcpTimedWaitDe,value:30(十进制)-> 为30秒(默认240)
->新建 DWORD值,name:MaxUserPort,value:65534(十进制) -> 最大连接数65534->重启系统
持续更新与完善中~~~
网友评论