• 性能测试工具 jmeter 分布式压力测试实操


    性能测试工具 jmeter 分布式压力测试实操

    本文在Non-GUI Mode下进行,准备好三台有jdk环境,linux操作系统,同一局域网测试机器,运行两台slave,一台master机器,进行分布式测试。

    slave-1/slave-2/master配置好jmeter环境(以下操作在jdk版本1.8环境下进行的)

    1.下载jmeter3.2

    wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-3.2.tgz

    2.解压

    tar xvf apache-jmeter-3.2.tgz

    3.添加环境变量

    vim  /ect/profile

    最后一行添加代码:

    JMETER=/root/apache-jmeter-3.2
    CLASSPATH=$CLASSPATH:$JMETER/lib/ext/ApacheJMeter_core.jar:$JMETER/lib/jorphan.jar:$JMETER/lib/logkit-2.0.jar
    PATH=$PATH:$JMETER/bin

    运行以下命令修改立即生效:

    source /etc/profile

    查看版本是否配置成功:

    jmeter -v 

    4.准备好自己的测试脚本jmx文件放在目录/apache-jmeter-3.2/test下

    slave-1 / slave-2 启动jmeter-server

    5.运行jmeter-server

    进到目录/apache-jmeter-3.2/bin:

    vim jmeter-server

    添加以下代码:(****为每台server自己的ip):

    RMI_HOST_DEF=-Djava.rmi.server.hostname=****
    • 开启jmeter-server:

      ./jmeter-server
    • 运行成功的话会在控制台显示:

      Created remote object: UnicastServerRef [liveRef: [endpoint:[***](local),objID:[***, ***]]]

    master机器运行测试脚本

    6.修改配置文件jmeter.properties

    进入目录/apache-jmeter-3.2/bin:

    vim jmeter.properties

    大概1038行,添加以下代码:

    jmeterengine.nongui.port=0

    7.运行脚本,开始测试

    测试脚本test.jmx,在目录/apache-jmeter-3.2/test下,新建文件夹report,用来保存结果:

    mkdir report

    运行以下命令(***为slave测试机器的ip,以逗号,间隔):

    jmeter -n -t ws_test.jmx -R  ***,*** -l test.jtl -e -o /apache-jmeter-3.2/test/report/
    • 提示以下消息则表示成功开始测试:

      Creating summariser <summary>
      Created the tree successfully using test.jmx
      Configuring remote engine: ***
      Configuring remote engine: ***
      Starting remote engines
      Starting the test @ Sun Mar 04 11:23:31 CST 2018 (1520133811112)
      Remote engines have been started
    • 此时slave机器控制台会提示:

      Starting the test on host *** @ Sun Mar 04 11:23:32 CST 2018 (1520133812700)
    • 测试脚本运行结束master控制台会显示结果:

       
    • slave机器控制台会提示:

      Finished the test on host *** @ Sun Mar 04 11:25:53 CST 2018 (1520133953286)

      至此测试已经完成。

    8.查看测试结果报告

    master 机器上运行:

    python -m SimpleHTTPServer 8000

    报告查看网址(***为该机器ip):http://***:8000/report/index.html

    9.遇到的坑

    • 在slave开启jmeter-server时,直接运行./jmeter-server,会提示错误

      Server failed to start: java.rmi.RemoteException: Cannot start. ***  is a loopback address.
      An error occurred: Cannot start. *** is a loopback address.

      貌似是因为没有指定主机导致的,所以在jmeter-server中指定RMI_HOST_DEF写入hostname搞定了问题:

      vim jmeter-server

      添加以下代码:(***为每台server自己的ip):

      RMI_HOST_DEF=-Djava.rmi.server.hostname=***
    • 在master跑测试脚本时,会一直提示如下信息,导致测试一直跑不起来:

      Waiting for possible shutdown message on port 4445 

      解决方法:
      进入目录/apache-jmeter-3.2/bin:

      vim jmeter.properties

      大概1038行,添加以下代码:

      jmeterengine.nongui.port=0

      这个是用于监听shutdown message的,如果不需要,可以直接设置为0即可。

    • 每台机器要在同一局域网下,最好操作系统保持一致(此次测试在linux下实现),不然运行master测试脚本有可能会提示拒绝连接的错误。

  • 相关阅读:
    论文阅读 | Adversarial Example Generation with Syntactically Controlled Paraphrase Networks
    Textual Entailment(自然语言推理-文本蕴含)
    论文阅读 | Probing Neural Network Understanding of Natural Language Arguments
    BiLSTM-CRF模型理解
    论文阅读 | Text Processing Like Humans Do: Visually Attacking and Shielding NLP Systems
    论文阅读 | Universal Adversarial Triggers for Attacking and Analyzing NLP
    QA 中的对抗攻击和防御
    2010 年 10 年前的网文【我的10年计算机之路】
    IntelliJ 的搜索和全局搜索怎么用
    Spring Data 的 Pivotal GemFire 参考指南前言
  • 原文地址:https://www.cnblogs.com/weihc/p/12147395.html
Copyright © 2020-2023  润新知