• linux部署分布式jmeter压测环境


    • 为什么要在linux上上做压测,而不是在GUI界面?

      因为GUI界面本身会消耗服务器资源,其次GUI运行的结果一般是保存在jmeter运行内存中,导致在做长时间压测得时候,内存占用会越来越高,最终可能导致工具报错或者宕机风险,影响测试。

      压测使用机器最好和服务部署的机器在同一网络下,减少网络原因导致的性能问题,这样从服务部署机器镜像一台机器就可以作为负载机使用,更加方便。。

    • 部署方式

      1.安装JDK

        网上一大堆,不在赘述

      2.部署jmeter

       (1)在官网http://jmeter.apache.org/download_jmeter.cgi  下载所需要的jmeter版本,我这里下载的是5.1的版本apache-jmeter-5.1.1.zip

       (2)上传到linux机器,并解压缩unzip  apache-jmeter-5.1.1.zip ,生成apache-jmeter-5.1.1目录

       (3)环境变量配置:

        注意路径改为自己上传的路径:    

        export JMETER_HOME=/opt/apache-jmeter-5.1.1

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

        export PATH=$JMETER_HOME/bin:$PATH

       (4)环境变量立即生效

        source /etc/profile

       (5)查看安装结果

        jmeter -v

        

       3.分布式部署

        我这里是按照三台机器规模部署的,提前在三套机器上分别部署jmeter环境(三台机器上jmeter版本最好一致)

       (1)master节点配置

        master节点可以使用windows也可以使用linux,因为master在工作过程中不直接参与压测,而是起到一个脚本调度,控制slave发起压测的作用,因此本身消耗不大,我这里使用的是linux作为master

        修改jmeter配置文件jmeter.properties 中remote_host为两个slave节点的IP和端口

        remote_hosts=10.8.1.143:1099,10.8.1.144:1099

       (2)slave节点配置

        修改jmeter配置文件/bin/jmeter.properties ,找到并取消这段配置的注释 server.rmi.ssl.disable=false ,false改成true。

        启动slave节点

        jmeter-server -Djava.rmi.server.hostname=10.8.11.143 ,启动 anget 节点。jmeter-server 后面的参数指定 agent 的 IP 

        启动成功之后ps -ef |grep jmeter能够看到jmeter进程

      4.启动压测

       (1)启动slave节点

          nohup  ./jmeter-server  -Djava.rmi.server.hostname=10.8.1.143

       (2)上传所需的jmx脚本和参数化数据到指定路径

       (3)启动压测

        ./jmeter -n  -t /home/cloud-user/msg_test.jmx  -R  10.8.11.143,10.8.11.144  -l ../result/testReport.jtl  -e -o ../report/resultReport    

        命令说明:

          -t  制定需要执行的jmx脚本全路径

          -R  配置两个slave节点的ip地址(和slave节点配置文件jmeter.properties中remote_host配置一样),中间用逗号隔开

          -l   输出测试结果(jtl格式)

          -e  输出图表结果

          -o  报告输出的路径

        (4)导出报告

     
    —————————————————————————————————————————————————————————————————————————————————————————————————————————————— 保持学习的劲头
  • 相关阅读:
    (紫书,感谢作者)第7章暴力求解法
    明日更新
    明天更新
    UVa11882最大的数(dfs+剪枝)
    UVa12569树上的机器人的规划
    es6中的reduce方法?
    浏览器是如何渲染页面的?
    判断是不是一个数组?
    判断是否是一个数组?
    var与let的区别?
  • 原文地址:https://www.cnblogs.com/qkblogs/p/14498691.html
Copyright © 2020-2023  润新知