Jmeter使用教程
————
————
环境准备
增加预留给TCP/IP服务的临时端口的数量
默认情况下,Windows XP 或 Windows Server 2003 会为执行通配绑定的应用程序分配一个范围从 1025 到 5000 的号码。
要在运行 Windows XP 或 Windows Server 2003 的计算机上更改临时端口的最大值,请执行以下操作:
1、cmd中,用regedit命令打开注册表
2、在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
3、 MaxUserPort = 65534
TimedWaitDelay=30
MaxHashTableSize = 65536
MaxFreeTcbs = 16000
TcpNumConnections = 16777214
4、修改配置完毕之后记得重启机器才会生效
tips : 修改为中文界面: 将bin/jmeter.properties里的language改为zh CN, 然后重启jmeter
插件
常用插件
https://www.cnblogs.com/-wenli/p/14186214.html
下载地址:http://jmeter-plugins.org/downloads/all/
![img](https://i-blog.csdnimg.cn/blog_migrate/28fd6338749ec63ceedaebe02e7ce3c4.png)
JMeterPlugins-Standard和JMeterPlugins-Extras是客户端的插件。下载成功后,复制JmeterPlugins-Extras.jar和JmeterPlugins-Standard.jar两个文件,放到jmeter安装文件中的lib/ext中,重启jmeter,即可看到该监视器插件。
监测服务器插件
https://www.cnblogs.com/fanjc/p/10309579.html
监测服务器插件ServerAgent-2.2.1.jar下载地址:https://github.com/undera/perfmon-agent
监测服务器插件可在github镜像网站上下载:https://github.com.cnpmjs.org/,搜索undera/perfmon-agent
将ServerAgent-2.2.1.jar上传到被测服务器,解压,进入目录,Windows环境,双击ServerAgent.bat启动;linux环境执ServerAgent.sh启动,默认使用4444端口。
如4444端口被占用,则需关闭占用该端口的进程,或者改变ServerAgent服务的默认端口:
A:关闭占用4444端口的进程
B:使用命令改变ServerAgent服务的默认端口
java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 7777 --tcp-port 7777
同样的,7777端口也要设置防火墙规则以及使用telnet本地测试下是否可以访问
如出现如下图所示情况,即表明服务端配置成功:
存在问题:jmeter5.1高版本linux CPU,IO,Memory监控性能测试 java.lang.NoSuchMethodError: org.apache.jmeter.samplers.SampleSaveConfiguration.setFormatter
解决方法:下载 permance 2.1 https://jmeter-plugins.org/?search=jpgc-perfmon,下载之后,将jpgc-perfmon-2.1.zip解压,jpgc-perfmon-2.1\lib下面的两个jar文件放置到\apache-jmeter-3.1\lib\下面,jpgc-perfmon-2.1\lib\ext下面的2个jar文件放置到\apache-jmeter-3.1\lib\ext下面。
HTTP 请求录制
HTTP请求
- 新增线程组
-
添加HTTP请求
-
设置线程数
ramp_up 时间: 在多少时间内把所有线程开启。比如,在10s内开启1000个线程
-
添加断言
-
或者使用blazemeter(谷歌插件)录制
存为.jmx格式
常用监听器
Transactions per Second
监听动态TPS**:每秒事务数**,用来分析吞吐量
下图说明吞吐量稳定在1400次左右
![image.png](https://i-blog.csdnimg.cn/blog_migrate/0ff982b9fff7a4f6e1b41121f031b319.png)
Response Times Over Time
主要作用是在测试脚本执行过程中,监控查看响应时间的实时平均值、整体响应时间走向等,性能测试中,最重要的两个指标的另外一个。
其中横坐标是运行时间
![image.png](https://i-blog.csdnimg.cn/blog_migrate/ad356990009412f2f863e432f03381b6.png)
Response Times vs Threads
线程活动期间的响应时间监听。其中横坐标是活动的线程数(也就是并发数),纵坐标是响应时间(单位是毫秒)
Active Threads Over Time
监听单位时间内活动的线程数。其中横坐标是单位时间(单位是毫秒),纵坐标是活动线程数(也就是并发数)
PerfMon Metrics Collector
即服务器性能监控数据采集器。在性能测试过程中,除了监控TPS和TRT,还需要监控服务器的资源使用情况,比如CPU、memory、I/O等。该插件可以在性能测试中实时监控服务器的各项资源使用。
在jmeter上填好IP Port 等,在服务器上启动:Windows环境,双击ServerAgent.bat启动;linux环境执ServerAgent.sh启动,默认使用4444端口。
在服务器上出现下图,说明启动成功
下图显示实时CPU曲线变化
![image.png](https://i-blog.csdnimg.cn/blog_migrate/66bdf74ae07960202d4ad979112b057b.png)
断言结果
查看断言结果
聚合报告
查看压测的一个总体结果,比如平均吞吐量,中位数等
定时器
设置目标吞吐量,以及此目标吞吐量的对象
linux 运行
jmeter -n -t rsa.jmx -l rsa.jtl
运行rsa.jmx 生成rsa.jtl 结果
插件
常用插件:https://www.cnblogs.com/-wenli/p/14186214.html
监测服务器插件:https://www.cnblogs.com/fanjc/p/10309579.html
github 镜像:https://github.com.cnpmjs.org/
解决jmeter5.1高版本linux CPU,IO,Memory监控性能测试 java.lang.NoSuchMethodError: org.apache.jmeter.samplers.SampleSaveConfiguration.setFormatter
安装 pluginManager: https://blog.csdn.net/u012106306/article/details/109067686,如果还是失败
直接下载 permance 2.1 https://jmeter-plugins.org/?search=jpgc-perfmon
在jmeter上监控服务器性能情况,下载之后,将jpgc-perfmon-2.1.zip解压,jpgc-perfmon-2.1\lib下面的两个jar文件放置到*\apache-jmeter-3.1\lib\下面,jpgc-perfmon-2.1\lib\ext下面的2个jar文件放置到\apache-jmeter-3.1\lib\ext下面。
查看 端口连接数
查看windows 端口连接数
netstat -an |find /c ":9000"
linux
netstat -anp | grep 9000|grep ESTABLISHED | wc -l
\lib\ext下面的2个jar文件放置到\apache-jmeter-3.1\lib\ext下面。
查看 端口连接数
查看windows 端口连接数
netstat -an |find /c ":9000"
linux
netstat -anp | grep 9000|grep ESTABLISHED | wc -l