• Linux下运行Jmeter压测


    一、在Linux服务器先安装SDK

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

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

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

    1)cd /usr/

    2)mkdir java

    3)mv jdk1.8.0_131 /usr/java

    在这里插入图片描述

    ​3、配置java环境变量

    1)vi /etc/profile

    2)在最后面增加两行

    1. export JAVA_HOME=/usr/local/java/jdk1.8.0_131
    2. export PATH=$JAVA_HOME/bin:$PATH

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

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

    1. 或者执行以下命令(必须是root角色,普通角色没有权限)
    2. # export JAVA_HOME=/usr/local/java/jdk1.8.0_144
    3. # export PATH=$JAVA_HOME/bin:$PATH

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

    在这里插入图片描述

    二、安装Jmeter

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

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

    1)安装unzip:apt-get install unzip

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

    3、创建文件夹mkdir apache-jmeter-3.1

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

    在这里插入图片描述

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

    1. export JMETER_HOME=/usr/local/apache-jmeter-3.1/apache-jmeter-3.1
    2. export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:
    $CLASSPATH
    
    export PATH= J M E T E R H O M E / b i n : JMETER_HOME/bin: JMETER 
    H
    ​    
     OME/bin:PATH
    

    在这里插入图片描述

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

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

    在这里插入图片描述

    三、接口压测

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

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

    jmeter -n -t -l 示例: jmeter -n -t testplan.jmx -l test.jtl

    参数说明:

    -n:以NoGUI方式运行脚本

    1. -t:后面接脚本名称
    2. -l:后面接日志名称,保存运行结果

    在这里插入图片描述

    3、查看result.jtl,查看运行结果:
    在这里插入图片描述

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

    在这里插入图片描述

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

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

    #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,可以看到网页版的结果报告:

    在这里插入图片描述

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

    四、进阶压测

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

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

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

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

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

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

    在这里插入图片描述

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

    /usr/local/apache-jmeter-3.1/jmx/logs/createOrderResultKaTeX parse error: Expected group after '_' at position 2: {_̲_time(YMD)}{__time(HMS)}.jtl

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

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

    在这里插入图片描述

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

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

    指令:./jmeter-server

    在这里插入图片描述

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

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

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

    在这里插入图片描述

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

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

    42机器:

    在这里插入图片描述

    43机器:

    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述

    最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

    这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

  • 相关阅读:
    单向的2.4G频段RF射频芯片-SI24R2E
    力扣 -- 1745. 分割回文串 IV
    java 二维数组与稀疏数组之间相互转换
    船舶单独安装的双频GNSS的PPP解算
    Re50:读论文 Large Language Models Struggle to Learn Long-Tail Knowledge
    SpringBoot2.7.3 动态数据数据源以及多数据源自动配置
    【Rust日报】2022-06-22 Rust 连续第 7 年成为最受喜爱的语言
    Spring(四)- Spring配置非自定义Bean
    实训三:多表查询 - 大学数据库创建与查询实战
    c++11特性(3)
  • 原文地址:https://blog.csdn.net/2301_78843735/article/details/134470564