Apache Jmeter是一个100%的纯Java桌面应用,主要是针对web的压力和性能测试,但后来扩展到其他测试领域。Jmeter可以用于测试FTP、HTTP、RPC、JUNIT、JMS、LDAP、WebService(Soap) Request以及Mail和JDBC(数据库压力测试)。
一、安装Java环境
1.下载JDK
JDK 可以到官网选择windows系统版本(32位/64位)下载
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2.安装JDK和JRE
双击下载的“jdk-7u80-windows-x64.exe”进行一步一步安装;
3.配置系统环境
配置环境变量:右击“我的电脑”-->"高级"-->"环境变量"。
(1)JAVA_HOME环境变量:在系统变量里点击新建,变量名填写JAVA_HOME,变量值填写JDK的安装路径。(根据自己的安装路径填写)
(2)CLASSPATH环境变量:新建CLASSPATH变量,变量值为:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
(3)path环境变量:在系统变量里找到Path变量,双击Path,由于原来的变量值已经存在,故应在已有的变量后加上“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin”
4.验证JAVA环境配置是否成功:运行(Windows+r)输入cmd,分别输入java -version
二、Jmeter安装
1、下载Jmeter:https://jmeter.apache.org/download_jmeter.cgi
2、解压apache-jmeter-3.1.zip文件至D:\ProgramFiles(86)目录下;
3、我的电脑----》属性----》高级----》环境变量----》在系统变量中----》点击新建JMETER_HOME,
变量名输入:JMETER_HOME
变量值输入:D:\ProgramFiles(86)\apache-jmeter-5.4
4、编辑CLASSPATH变量,加上%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;然后确定
5、点击Jmeter中bin目录下面的jmeter.bat文件即可打开Jmeter了。(Linux运行Jmeter.sh)
注意:打开的时候会有两个窗口,Jmeter的命令窗口和Jmeter的图形操作界面,不可以关闭命令窗口;
三、Jmeter的语言切换
方法一:修改Options
- 依次点击【Options】----》【Choose Language】---》【Chinese(Simplified)】,即可配置成中文简体,需注意的是该方法只对当次生效,下次打开Jmeter依然是英文。如需永久生效,请使用下面两种方法;
方法二:修改jmeter.properties文件
- 打开jmeter解压缩文件下的bin目录,找到jmeter.properties文件并用编辑器打开,
- 在#language=en下面插入一行language=zh_CN,修改后保存
- 重新启动Jmeter界面显示为中文简体
方法三:修改jmeter.bat文件
- 使用编辑器打开JMeter启动文件jmeter.bat
- 将set JMETER_LANGUAGE=-Duser.language="en" -Duser.region="EN"修改成set JMETER_LANGUAGE=-Duser.language="zh" -Duser.region="CN",保存代码
- 重新启动Jmeter界面显示为中文简体
四、Jmeter响应中文乱码
- 修改jmeter.properties文件
- 打开jmeter解压缩文件下的bin目录,找到jmeter.properties文件并用编辑器打开,
- 在# The encoding to be used if none is provided (default ISO-8859-1)、#sampleresult.default.encoding=ISO-8859-1
- 下面插入一行The encoding to be used if none is provided (default utf-8)、sampleresult.default.encoding=utf-8,修改后保存
- 重新启动Jmeter
五、JMeter插件安装
JMeterPlugin可以把JMeter生成的jtl文件做出很好的统计图,同时还支持机器的cpu、memory、swap、disk io和network的监控,是个不错的插件。
JMeter 插件网址:http://jmeter-plugins.org/
Perf Mon 插件 http://jmeter-plugins.org/wiki/PerfMon/一、下载
首先进入网址 http://jmeter-plugins.org/downloads/all/ 下载资源
ServerAgent-2.2.3.zip
JMeterPlugins-Standard-1.4.0.zip
JMeterPlugins-Extras-1.4.0.zip
jpgc-perfmon-2.1.zip
jpgc-perfmon下载地址:https://jmeter-plugins.org/wiki/PerfMon/
其中JMeterPlugins-Standard和JMeterPlugins-Extras是客户端的,ServerAgent是服务端的。
二、配置
将 JMeterPlugins-Standard-1.4.0.zip 中 lib\ext 目录下的 JmeterPlugins-Standard.jar 文件都放到apache-jmeter-2.13\lib\ext目录中。
将 JMeterPlugins-Extras-1.4.0.zip 中 lib\ext 目录下的 JMeterPlugins-Extras.jar 文件放到apache-jmeter-2.13\lib\ext目录中。
将 ServerAgent-2.2.3 放到要监控的服务器中待使用。
将jpgc-perfmon-2.1.zip解压,jpgc-perfmon-2.1\lib下面的两个jar文件放置到*\apache-jmeter-3.1\lib\下面
三、监控
1) apache-jmeter-3.1\bin\jmeter.bat 启动JMeter
正常启动成功后截图如下:
如果不能启动查看jdk版本或者jdk是否安装正确。
2) 查看插件是否正常加载,如图:
其中jp@gc 开头的为加载插件后出现的。
3) 运行 ServerAgent-2.2.3\bin\startAgent.bat(Linux使用startAgent.sh)
(默认端口为4444,也可以参数指定 –udp-port 5555 –tcp-port 5555)
可以看到输出内容如下:
INFO 2016-02-23 21:21:37.209 [kg.apc.p] (): Binding UDP to 5555
INFO 2016-02-23 21:21:38.208 [kg.apc.p] (): Binding TCP to 5555
INFO2016-02-23 21:21:38.210 [kg.apc.p] (): JP@GC Agent v2.2.0 started
4) 在JMeter 中的测试计划中,按上面的截图,添加监听器 “jp@gc - PerfMon Metrics Collector”
点击上面的启动按钮后,查看ServerAgent日志出现:
INFO 2016-02-23 21:34:46.966 [kg.apc.p] (): Accepting new TCP connection
INFO 2016-02-23 21:34:46.969 [kg.apc.p] (): Yep, we received the 'test' command
INFO 2016-02-23 21:34:46.971 [kg.apc.p] (): Starting measures: cpu:
INFO 2016-02-23 21:34:47.123 [kg.apc.p] (): Client disconnected
运行jmeter时,成功连接然后立刻断开了,并没有获取我们想要的数据。猜想需要一个时间控制的元器件,使其能够获取一段时间的数据。
解决方法:
添加线程组,设置循环次数为”永远”;
为线程组任意添加一个Sampler(并不设置参数);
添加一个PerfMon Metrics Collector监听器;点击运行。(上面如果已经添加过,可直接使用无需再添加)
然后在 jp@gc - PerfMon Metrics Collector 界面,启动。
结果:成功获取chart图,点击stop,即结束监听数据,下面是截图。