Jmeter性能测试
(一)工具版本
(二)安装和配置
安装jdk在D盘下新建JAVA文件夹,找到jdk文件,双击运行。点击下一步,出现如下图一内容,这里是设置安装路径,可以默认,用户可自行选择,这里我安装在D:\JAVA\JDK,如下图二。这路径记好,一会设置环境变量需要用到,设置好后点击下一步,过一会会出现安装Jre路径,如下图三,用户自行选择,点击下一步等待安转完毕即可。
右击我的电脑——>属性——>高级系统设置(如下图一)——>环境变量(如下图二).
配置jdk
1)新建系统变量JAVA_HOME
变量名:JAVA_HOME;变量值:D:\JAVA\JDK\jdk1.8.0_191
2)编辑系统变量Path
Windows10 电脑,新建变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; Windows7
电脑,在变量值最后输入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;注意用;号分隔
3)新建系统变量CLASSPATH变量
变量名:CLASSPATH 变量值:%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
4)检验
(1)快捷键win+R——> 输入cmd
(2)输入java -version之后,点击回车键
安装和配置jmeter
下载后无需安装,解压后即可使用。下图为解压后的目录。
新增JMETER_HOME变量,注意:变量值为你下载后解压的路径。
编辑CLASSPATH变量,加上
%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;
注:如果电脑重没找到CLASSPATH,添加在PATH也可以;
4) 操作完上面的步骤,我们就可以点击Jmeter中bin目录下面的jmeter.bat文件即可打开Jmeter了。
注意:打开的时候会有两个窗口,Jmeter的命令窗口和Jmeter的图形操作界面,不可以关闭命令窗口。
添加监控器(放置到需要监控的服务器中)
下载jmeter-plugins-manager-1.4.jar文件,将文件移动到apache-jmeter-5.1.1\lib\ext文件夹下,
点击Options——>plugins-manager(如下图一)
常用的插件有:
用于服务器性能监视的-- PerfMon Metrics Collector;用于建立压力变化模型的-- Stepping Thread Group;用于Json解析的-- JSON Path Extractor;用于展示响应时间曲线的-- Response Times Over Time;用于展示TPS曲线的-- Transactions per Second;用于展示以上组合展示的-- Composite Timeline Graph;
点击Avallable Plugins按钮,搜索需要安装的插件,勾选插件前的选框,点击右下角的Apply Changes and Restart JMeter 按钮下载安装插件(如下图)
重新启动Jmeter后,可以看到好多报表。可以重点关注我框的,其余根据实际需求(如果想了解用途,请自行查阅)(如下图)
——>jp@gc - Active Threads Over Time-不同时间的活动用户数量
——>jp@gc - PerfMon Metrics Collector-服务器性能监控
——>jp@gc - Transactions per Second-每秒事务数,服务器每秒处理的事务数
——>jp@gc - Response Times Over Time-响应时间超时,显示每个采样以毫秒为单位的平均响应时间
——>jp@gc - Flexible File Writer-**灵活记录测试结果
——>jp@gc - Transactions per Second-监听动态TPS,用来分析吞吐量。
——>Composite Graph-组合式的监听器。
配置本地与其他机器互联
例如:
1.主控机一台为master,ip地址:10.8.88.177
2.负载机一台为slave, ip地址:10.8.88.119
1)主控机和负载机都安装一样的JDK环境和jmeter版本。
2)主控机的配置文件jmeter.properties的设置为如下:
①添加负载机IP,如:remote_hosts=10.8.88.119:1099,10.8.88.177:1099。表示的是要远程控制 的机器,多个机器IP间用逗号分隔,1099为分布式机器的端口号。
②#server.rmi.ssl.disable=false 修改为:server.rmi.ssl.disable=true并且将前面的#注释去掉。
③将#mode=Standard前面的#注释去掉。这个操作是为了让主控机在执行后在察看结果树下能看 到返回的响应信息(repsonse body)
3)负载机的配置文件jmeter.properties的设置为如下:
①#server.rmi.ssl.disable=false 修改为:server.rmi.ssl.disable=true并且将前面的#注释去掉。
②找到remote_hosts=127.0.0.1,把这一行修改为remote_hosts=10.8.88.119:1099(本机ip:端口)。
4)将ServerAgent-2.2.3文件夹放置到需要监控的服务器中(任意位置),在目标机器上启动即可
Windows系统双击startAgent.bat文件
Linux系统启动startAgent.sh文件
如果出现错误,参考如下方法:
1、修改slave负载机的配置文件:修改slave配置并启动jmeter-server修改jmeter.properties:server_port=(自定义端口号,避免被占用)server.rmi.localport=(跟上面设置的端口号一致)server.rmi.ssl.disable=true修改jmeter-server:RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.1.224(绑定本机ip)
(三)创建运行脚本
在控制机10.8.88.177机器上启动jmeter.bat.启动后如下图所示
添加线程组。右键测试计划—add—Threads—Thread Group
添加HTTP请求。右键线程组—add—Sampler—HTTP Request
填写接口数据。
添加需要的监控器,如查看结果树、聚合报告。右键线程组—add—Listener—View Results Tree和Aggregate Report
运行脚本进行访问接口,测试能否正常访问和返回参数。
配置线程组发起数量进行压力测试。
添加同步定时器进行并发。右键http请求—add—Timer—Synchronizing Timer
点击运行按钮开始压测。
(四)分布式压测和监控
在负载机10.8.88.119机器上启动jmeter.server.bat.启动后如下图所示
在负载机10.8.88.119机器上的ServerAgent-2.2.3文件夹中启动startAgent.bat.
在主控机上启动jmeter.bat,打开项目脚本,添加jp@gc - PerfMon Metrics Collector监听器,可以看到如下所示。(注意IP为被监控系统的IP,也就是agent所在IP)
在主控机操作Run–Remote start–10.8.88.119:1099.
在察看结果树,查看是否请求成功以及返回的响应信息,如下图所示
在查看负载机是否有报错,负载机没有报错。如下图所示: