一、安装jdk
jmeter安装需要依赖jdk,jdk版本要求8以上。关于jdk的安装其实晚上一搜到处都是,这里也简单的列一下。
1.在https://www.oracle.com/java/technologies/downloads/下载jdk
下载成功后对dmg文件进行打开,安装(一直下一步就好了)。最后终端输入命令 java --version,正常显示java版本就说明安装完毕。
2、MAC OS系统安装JDK不需要配置环境变量即可使用,但是一些特殊的开发环境需要明确配置JAVA_HOME环境变量。
(1)查询jdk的安装目录
终端执行 /usr/libexec/java_home -V
由此可知jdk的目录在 /Library/Java/JavaVirtualMachines/jdk-12.0.1.jdk/Contents/Home
(2)进行环境变量配置
这些就不说了,都是常规流程。
二、mac下的jmeter安装
1、jmeter下载: https://jmeter.apache.org/download_jmeter.cgi
2、我这里下载的tgz包,这里对其进行解压得到 apache-jmeter-5.4.3
tar zxvf apache-jmeter-5.4.3.tgz
3、然后记录解压得到的apache-jmeter-5.4.3路径
如下路径为 /Users/shuozhuo/Applications/apache-jmeter-5.4.3
4、接下来进行jmeter环境变量配置
终端输入:open -e ~/.bash_profile 打开文件,在其中加入如下语句
#jmeter相关配置
export JMETER_HOME=/Users/shuozhuo/Applications/apache-jmeter-5.4.3
export PATH=$PATH:$JMETER_HOME/bin
保存后关闭。切换到终端,输入:source ~/.bash_profile 使配置生效。此时直接在终端输入 jmeter就可以打开软件了
5、然后在终端输入 jmeter 然后就打开软件了。
6、对jmeter进行汉化
将 apache-jmeter-5.4.3/bin/jmeter.properties 文件中的 #language=en更改为language = zh_CN。
之后在打开就汉化了,如下。
三、Linux下的jmeter安装
注:此次安装在内网机器 9.xxx.22.127 上。
同样这里也依赖java环境,linux下的 java环境安装可以参照 这里
之后就是具体的安装了。
官网选择 Apache JMeter - Download Apache JMeter tgz的下载并上传到Linux。
添加环境变量
#解压
tar zxvf apache-jmeter-5.4.3.tgz
vim /etc/profile
#添加如下内容(注意:路径是你自己实际解压包的路径)
export JMETER_HOME=/root/mystudy/jmeter/apache-jmeter-5.4.3
export PATH=${JMETER_HOME}/bin:$PATH
#配置生效
source /etc/profile
执行jmeter -v如下就说明是ok的了
三、Linux下的jmeter的使用
0、测试环境x.xxx.22.127机器。cd /data/home/shuozhuo 。
1、整体步骤
(1)在GUI模式(mac或windows)下新建一个测试计划,形成一个jmx文件。保存并上传到linux机器对应目录。
(2)bin目录下执行命令:./jmeter.sh –n –t [路径]/[名称].jmx -j [路径]/[名称].log –l [路径]/[名称].jtl -e -o [路径] ,如:./jmeter.sh -n -t ../yace/udptest.jmx -j ./udptest.log -l ./udptest.jtl -e -o ./udptest
(3)结果文件sz到mac/windows机器。①对于其中的html报告。整体sz下来然后也是可以通过浏览器打开并分析的。②对于其中的jtl文件。打开jmeter,然后点击:创建测试计划→创建监听-聚合报告,创建查看结果树等;点击浏览,把jtl文件加载进来,就可以看到测试的报告结果。
2、启动语句
./jmeter.sh -n -t ../yace/udptest.jmx -j ./udptest.log -l ./udptest.jtl -e -o ./udptest
./jmeter.sh -n -t ../yace/303203udptest.jmx -j ../result/303203udptest.log -l ../result/303203udptest.jtl -e -o ../result/303203udptest
(1)-n:指定此次为非GUI模式;
(2)-t ../yace/udptest.jmx : 执行计划.jmx文件的路径;
(3)-j ./udptest.log :指定日志的路径;
(4)-l ./udptest.jtl:存放结果的目录及文件名;
(5)-e -o ./udptest:生成html报告及报告路径;注:udptest必须是个空目录。
其他常见命令:
-h 帮助:打印出有用的信息并退出
-n 非 GUI 模式:在非 GUI 模式下运行 JMeter
-t 测试文件:要运行的 JMeter 测试脚本文件
-l 日志文件:记录结果的文件
-r 远程执行:启动远程服务
-H 代理主机:设置 JMeter 使用的代理主机
-P 代理端口:设置 JMeter 使用的代理主机的端口号
Linux环境下的jmete配置好后 采用 这篇文章 中的udp测试实例 对另一台云服务器(118.xxx.193.69)上部署的一个go服务发送udp请求进行测试。测试结果如下:
另一个机器上部署的go服务也有对应的日志:
注:其实我们也可以改jmx文件,例如简单的改改ip:port都是蛮简单的。
改 “Thread Group”对应的线程组等也都是比较简单的(决定压力)。
3、结果分析
对于html输出浏览器打开,如下:
打开.jtl文件如下: