zoukankan      html  css  js  c++  java
  • Jmeter 在linux下的分布式压测

    Jmeter 在linux下的分布式压测

    0、将 windows机器作为master 控制机(同时也兼做负载机slave), linux机器作为 负载机 slave。

    1、linux环境安装 :
    (1)、在linux(centos)下需要安装JDK (1.8) 和 JMETER (5.0)
    jdk文件为:jdk-8u131-linux-i586.tar.gz

    jmeter 文件为(跟windows下的是同样的文件,本身是java编写,跨平台):apache-jmeter-5.0.zip(2)、在linux的root目录下新建lsq目录,将jdk、jmeter安装文件拷贝到linux的 /root/lsq/目录下

    (3)、解压jdk、 jmeter (解压即安装)到当前目录
    #cd /root/lsq
    #jar -xzvf jdk-8u131-linux-i586.tar.gz
    #unzip apache-jmeter-5.0.zip

    (4)、修改环境变量
    #vi /etc/profile
    添加这几行(路径根据实际情况修改):

    JAVA_HOME=/root/lsq/jdk1.8.0_131
    JRE_HOME=$JAVA_HOME/jre
    JMETER_HOME=/root/lsq/apache-jmeter-5.0
    CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$JMETER_HOME/bin/

    修改之后运行 source /etc/profile  让配置生效
    #source /etc/profile 

    验证jdk 安装是否成功,能出现java版本说明安装成功
    #java -version

    验证jmeter安装是否成功
    #jmeter -v

     2、分布式环境配置:
    #cd /root/lsq/apache-jmeter-5.0/bin
    #vi jmeter.properties
    修改 jmeter bin目录下的jmeter.properties 文件,修改
    remote_hosts 的ip 127.0.0.1 为机器ip
    也可以修改端口 server_port 为一个未被使用的端口,如下图所示:

     


    同时jmeter 4.0以上还有修改jmeter.properties文件的另外一个ssl的项 ,把false改为 true:
    server.rmi.ssl.disable=true  

    修改完成 ,slave端要启动 jmeter服务 :
    #jmeter-server

    此时,发现报错:

     

     回环地址的问题 ,只改 jmeter-server下的(尽量不要去改 系统级的配置 比如/etc/hosts的ip ): 

    修改后保存,再次启动 jmeter-server ,成功,如下图:

     

     

    另外:默认情况下,RMI使用动态端口(比如上图的58040)为JMeter服务器引擎。 这可能会导致问题,比如被防火墙屏蔽, 所以您可以定义JMeter属性 server.rmi.localport控制这个端口号,没有防火墙的问题,则不需要改

     

    3、master端(windows)配置,
    同样修改 jmeter bin目录下的jmeter.properties 文件中的配置,
    remote_hosts=slaveip1:端口1,slaveip2:端口2 ,如果master不想参加压测,可以把127.0.0.1 去掉
    如: remote_hosts=127.0.0.1:2099,192.168.123.86:2099
    server_port 改成你想要的端口,
    如: server_port=2099

     


    修改server.rmi.ssl.disable=true(flase改为true)

    4、配置完成   ,打开windows下的jmeter,能看到 运行--》远程启动 里,有我们设置的 负载机的ip和端口

     

     

    5、windows 控制机自己作为 负载机也要开启 jmeter-server.bat 如下图:

     

    6、执行 压测:

    使用报表前先修改Jmeter的bin目录下reportgenerator.properties
    修改jmeter.reportgenerator.overall_granularity=1000(报表统计的间隔时间,默认是60000毫秒即分钟,改成1秒)

    F:srciptJmeter>jmeter -n -t .day7-bugfree.jmx -l day75.jtl -e -o . es15 -j .log15.log -R 192.168.123.86

     

    7、其它说明:

      1、调度机(master)和执行机(slave)最好分开,由于master需要发送信息给slave并且会接收slave回传回来的测试数据,所以mater自身会有消耗,所以建议单独用一台机器作为mater。

      2、参数文件:如果使用csv进行参数化,那么需要把参数文件在每台slave上拷一份且路径需要设置成一样的,比如都放置在bin目录下 。注意:不同的负载机参数化数据要不一致,否则会重复数据。!!!

      3、每台机器上安装的Jmeter版本和插件最好都一致,否则会出一些意外的问题。

  • 相关阅读:
    PHP的Tag标签
    PHP 常量
    MySQL知识点链接
    Codeforces Round #593 (Div. 2)D(螺旋形模拟)
    【PAT甲级】1060 Are They Equal (25 分)(需注意细节的模拟)
    【PAT甲级】1059 Prime Factors (25 分)
    【PAT甲级】1058 A+B in Hogwarts (20 分)
    【PAT甲级】1057 Stack (30 分)(分块)
    【PAT甲级】1056 Mice and Rice (25 分)
    Atcoder Grand Contest 039C(容斥原理,计数DP)
  • 原文地址:https://www.cnblogs.com/xiaowenshu/p/9925169.html
Copyright © 2011-2022 走看看