一、JMeter
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。
1.1、JMeter的作用
1.能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
2.完全的可移植性和100% 纯java。
3.完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。
4.完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
5.精心的GUI设计允许快速操作和更精确的计时。
6.缓存和离线分析/回放测试结果。
1.2、JMeter的高可扩展性
1.可链接的取样器允许无限制的测试能力。
2.各种负载统计表和可链接的计时器可供选择。
3.数据分析和可视化插件提供了很好的可扩展性以及个性化。
4.具有提供动态输入到测试的功能(包括Javascript)。
5.支持脚本编程的取样器(在1.9.2及以上版本支持BeanShell)。
在设计阶段,JMeter能够充当HTTP PROXY(代理)来记录IE/NETSCAPE的HTTP请求,也可以记录apache等WebServer的log文件来重现HTTP流量。当这些HTTP客户端请求被记录以后,测试运行时可以方便的设置重复次数和并发度(线程数)来产生巨大的流量。JMeter还提供可视化组件以及报表工具把量服务器在不同压力下的性能展现出来。
相比其他HTTP测试工具,JMeter最主要的特点在于扩展性强。JMeter能够自动扫描其lib/ext子目录下.jar文件中的插件,并且将其装载到内存,让用户通过不同的菜单调用。
二、Jmeter在Linux下的运行测试
在windows下使用Jmeter已经司空见惯了,但是在压力测试时带宽成了限制测试性能的主要阻碍,既然Jmeter是基于JAVA的,所以就有完全的可移植性,可以在linux下运行。
2.1、安装JDK
首先安装JDK,并正确配置环境变量。
一、上传并解压jdk压缩包jdk-8u151-linux-x64.tar.gz,建议把软件都安装到/usr/local/下,如/usr/local/jdk1.8.0_151。
二、安装java环境
1、用vim编辑器打开/etc/profile文件,在文件尾部加入环境变量的定义
JAVA_HOME=/usr/local/jdk1.8.0_151/
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
2、重启一下环境配置
source /etc/profile
3、验证配置是否成功
java -version
2.2、安装Jmeter
1、将Jmeter的安装包(直接使用windows下的zip压缩包都行)apache-jmeter-4.0.zip上传至Linux的/usr/local/目录下,解压,并将文件名改为jmeter
tar zxvf apache-jmeter-5.3.tgz
2、编辑/etc/profile文件,配置Jmeter的环境变量,这里的文件路径根据情况改变
export PATH=/usr/local/jmeter-5.3/bin/:$PATH
3、重启一下环境配置
source /etc/profile
4、验证配置是否成功
jmeter -v
三、使用Jmeter
使用命令执行脚本:
jmeter -n -t /root/testJmeter/jmeter.jmx -l /root/testJmeter/test.jtl -e -o /root/testJmeter/resultReport
参数说明:
-h 帮助 -> 打印出有用的信息并退出
-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
-t 测试文件 -> 要运行的 JMeter 测试脚本文件
-l 日志文件 -> 记录结果的文件
-r 远程执行 -> 启动远程服务
-H 代理主机 -> 设置 JMeter 使用的代理主机
-P 代理端口 -> 设置 JMeter 使用的代理主机的端口号
注意:如果未设置Jmeter的环境变量则在执行脚本的时候需要检查当前目录是否是jmeter的bin目录下,脚本文件可根据自己的测试需求进行配置,执行这段启动命令可以在测试结束后生成结果报告文件。