51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 688|回复: 0
打印 上一主题 下一主题

虚拟机下运行Jmeter压测

[复制链接]
  • TA的每日心情
    无聊
    昨天 09:13
  • 签到天数: 935 天

    连续签到: 2 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2023-5-22 13:14:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    一、在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

      4、配置java环境变量
      1)vi /etc/profile
      2)在最后面增加两行
           export JAVA_HOME=/usr/local/java/jdk1.8.0_131
           export PATH=$JAVA_HOME/binPATH


      重启虚拟机后配置才会生效。
      3)执行命令:source /etc/profile,无需重启,配置的环境变量立马生效。
           或者执行以下命令:(必须是root角色,普通角色没有权限)
           # export JAVA_HOME=/usr/local/java/jdk1.8.0_144
           # export PATH=$JAVA_HOME/binPATH


      5、查看是否安装成功,执行命令: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
      4、将apache-jmeter-3.1目录放到 /usr/local/apache-jmeter-3.1下

      5、配置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.jarJMETER_HOME/lib/jorphan.jar:
      $CLASSPATH
      export PATH=$JMETER_HOME/binPATH



      6、source /etc/profile (让配置文件立马生效)
      7、查看是否安装成功,执行命令: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 <testplan filename> -l <listener filename> 示例: jmeter -n -t testplan.jmx -l test.jtl

      参数说明:
      -n:以NoGUI方式运行脚本
      -t:后面接脚本名称
      -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/createOrderResult${__time(YMD)}${__time(HMS)}.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聚合报告查看结果,如图所示:


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-24 09:08 , Processed in 0.063246 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表