Linux下运行Jmeter压测

1、在Linux服务器先安装SDKhtml

一、先从官网下载jdk1.8.0_131.tar.gz,再从本地上传到Linux服务器java

二、解压:tar -xzf jdk1.8.0_131.tar.gz,生成文件夹 jdk1.8.0_131apache

三、在/usr/目录下建立java文件夹,再将 jdk1.8.0_131目录移动到/usr/java中windows

1)cd /usr/服务器

2)mkdir javaapp

3)mv jdk1.8.0_131 /usr/java分布式

三、配置java环境变量spa

1)vi /etc/profile3d

2)在最后面增长两行日志

     export JAVA_HOME=/usr/local/java/jdk1.8.0_131

     export PATH=$JAVA_HOME/bin:$PATH

重启虚拟机后配置才会生效

3)执行命令:source /etc/profile,无需重启,配置的环境变量立马生效

     或者执行如下命令(必须是root角色,普通角色没有权限)

     # export JAVA_HOME=/usr/local/java/jdk1.8.0_144

     # export PATH=$JAVA_HOME/bin:$PATH

四、查看是否安装成功,执行命令:java-version

 

2、安装Jmeter

一、将本地的Jmeter文件打包成zip文件:apache-jmeter-3.1.zip,再上传到服务器

二、在服务器解压缩,生成apache-jmeter-3.1目录

1)安装unzip:apt-get install unzip

2)解压缩:unzip apache-jmeter-3.1.zip

三、建立文件夹mkdir apache-jmeter-3.1

三、将apache-jmeter-3.1目录放到 /usr/local/apache-jmeter-3.1下

四、配置Jmeter环境变量。vi /etc/profile,再添加以下变量

    export JMETER_HOME=/usr/local/apache-jmeter-3.1/apache-jmeter-3.1

    export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:

$CLASSPATH

export PATH=$JMETER_HOME/bin:$PATH

五、source /etc/profile (让配置文件立马生效)

六、查看是否安装成功,执行命令:jmeter -v

3、接口压测

一、将本地生成的jmx文件上传到服务器指定目录,如:/usr/local/apache-jmeter-3.1/jmx

二、进入该目录下,输入命令:# jmeter -n -t Linux_uat_createOrder5bf60s.jmx -l result.jtl,查看结果

jmeter -n -t <testplan filename> -l <listener filename> 示例: jmeter -n -t testplan.jmx -l test.jtl

参数说明:

      -n:以NoGUI方式运行脚本

                     -t:后面接脚本名称

                     -l:后面接日志名称,保存运行结果

三、查看result.jtl,查看运行结果:

也能够将result.jtl发送到windows下Jmeter查看:添加聚合报告,在聚合报告中打开该文件:

四、注意:客户端和服务器的Jmeter版本最好保持一致,否则运行脚本时会报错。

五、还有另外一种脚本执行指令:

# jmeter -n -t Linux_uat_createOrder5bf60s.jmx -l result.jtl -e -o /usr/local/apache-jmeter-3.1/result

在/usr/local/apache-jmeter-3.1/目录下要有空的result文件夹,不然会提示错误。

指令执行完成后,将result文件夹整个download到本地。文件夹包含:

打开index.html,能够看到网页版的结果报告:

 

详情请查阅相关资料,暂不赘述。

4、进阶压测

多台压测机器分布式压测:

举例以41为主机,4二、43为从机,对压测环境服务器进行压测。

一、三台Linux服务器都要安装相同版本Jmeter,尽可能保证安装路径一致;

二、配置41的jmeter.properties,将两台从机(4二、43)的IP、端口号配置上:

目录:/usr/local/apache-jmeter-3.1/apache-jmeter-3.1/bin

配置remote_hosts,去掉前面的注释符#:

三、在三台Jmeter机器上放置一样的jmx脚本,脚本的聚合报告中,设置结果写入文件路径:

/usr/local/apache-jmeter-3.1/jmx/logs/createOrderResult${__time(YMD)}${__time(HMS)}.jtl

会将压测执行结果放入到/usr/local/apache-jmeter-3.1/jmx/logs目录下,并自动生成带有日期时间戳的jtl文件:

四、在主机41发起压测指令前,须要将4二、43两台从机启动:

目录:/usr/local/apache-jmeter-3.1/apache-jmeter-3.1/bin

指令:./jmeter-server

此时说明从机服务已启动。

五、在主机41上执行脚本指令:# jmeter -n -t Linux_uat_createOrder8bf60s.jmx -r

参数说明:-r 远程执行 -> 在Jmter.properties文件中指定的全部远程服务器

显示主机41上显示已开始(41不直接压测,远程遥控4二、43进行压测)

两台从机也显示收到压测指令,开始压测:

42机器:

43机器:

主机41上显示:end of run,说明压测执行完毕:

执行脚本以后,去目录/usr/local/apache-jmeter-3.1/jmx/logs下找到生成的jtl文件,下载到本地机器Windows环境下可以使用jmeter聚合报告查看结果,如图所示:

相关文章
相关标签/搜索