zoukankan      html  css  js  c++  java
  • Jmeter之分布式执行测试 (2)

    一. 安装Java

    1.1下载JDK

    1) Windows安装jdk,下载完成后,双击安装

    2) Linux解压:tar -zxvf jdk-8u74-linux-x64.gz

    1.2 Java环境变量

    1)Windows
    变量名:【JAVA_HOME】
    变量值:【D:Program FilesJavajdk1.8.0_92】【jdk安装路径】
    变量名:【path】
    变量值:【;%JAVA_HOME%in;】
    变量名:【CLASSPATH】
    变量值:【.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;】

    2) Linux

    在shell终端执行命令: vi /etc/profile

    在profile文件末尾加入:

           JAVA_HOME=/usr/java/jdk1.8.0_74

           PATH=$JAVA_HOME/bin:$PATH

           CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

           export JAVA_HOME, PATH, CLASSPATH

    # source /etc/profile  执行后生效

    1.3检查

    1)在cmd或shell输入java -version,检查是否显示jdk信息,确定是否安装成功

    二. 安装Jmeter

    2.1 下载

    解压:Linux: tar -zxvf  xxxxx.tar

    2.2 Jmeter环境变量

    1)Windows
    【变量名】JMETER_HOME
    【变量值】E:apache-jmeter-3.1(jmeter解压路径)
    【变量名】CLASSPATH
    【变量值】

    %JMETER_HOMElibextApacheJMeter_core.jar;%JMETER_HOME%libjorphan.jar;%JMET ER_HOME%liblogkit-2.0.jar;

    2)Linux

    方法一:

      在/etc/profile文件中添加变量【对所有用户生效(永久的)】

    $ vi /etc/profile   

    添加以下内容:

    export JMETER_HOME=/usr/local/jmeter/apache-jmeter-3.1

    export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.j ar:$JMETER_HOME/lib/logkit-2.0.jar:$CLASSPATH

    export PATH=$JMETER_HOME/bin:$PATH:$HOME/bin

    # source /etc/profile  执行后生效

    方法二:  

    在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】

      # vi .bash_profile

      添加内容同上。

    # source .bash_profile  生效

    三. 设置JVM内存

    3.1 Windows

    找到JMeter bin目录下的jmeter.bat文件编辑

    set HEAP=-Xms2048m -Xmx2048m

    set NEW=-XX:NewSize=640m -XX:MaxNewSize=640m

    3.2 Linux

    linux在jmeter文件修改

    3.3 JVM监控工具

    jconsole、jvisualvm、jmap、jps、jstack、jhat、jstat

    四. 分布式配置

    1、在控制机上修改bin/jmeter.properties,添加从机的IP及端口(使用-r启动所有从机)1099是默认的rmi通信端口

    # Remote Hosts - comma delimited

    remote_hosts=192.168.5.95:1099,192.168.5.103:1099

    2、开启执行脚本机器上的server服务,bin/jmeter-server

    3、在控制机执行分布式命令

    指定从机IP:

    jmeter -n -t testplan/comic.jmx -R 192.168.5.95,192.168.5.103 -l testResult/result1.jtl

    启动所有从机执行脚本

    jmeter -n -t /work/test/franklin.jmx  -r -e -l /tmp/result.jtl -o /work/ResultReport

     

    五. 运行

    jmeter -n -t /work/test/franklin.jmx  -r -e -l /tmp/result.jtl -o /work/ResultReport

    -n :以非GUI形式运行Jmeter

    -t :source.jmx 脚本路径

    -l :result.jtl 运行结果保存路径(.jtl),此文件必须不存在,重新执行需要手动删除已经生成的jtl文件

    -e :在脚本运行结束后生成html报告

    -o :用于存放html报告的目录

    这样就可以启动测试了。 但是启动之前要求result.jtl这个文件不存在,所以要注意运行前删除这个文件

    Shell

    rm -rf /tmp/result.jtl && rm -rf /work/ResultReport/ && ./jmeter -n -t /work/test/franklin.jmx  -r -e -l /tmp/result.jtl -o /work/ResultReport

     

    可以进一步将这三个命令定义在一个shell脚本中

    Shell

    #!/bin/bash

    rm -rf /tmp/result.jtl

    rm -rf /work/ResultReport/

    ./jmeter -n -t /work/test/franklin.jmx  -r -e -l /tmp/result.jtl -o /work/ResultReport

    六. 脚本

    6.1 Token 提取

    添加正则表达式:"data":"(.*?)" ,提取匹配字符到变量$token;

    Default value:null .

    6.2 Header manage

    Authorization ${token}

    content-type application/json;charset=UTF-8

  • 相关阅读:
    Could not find the Qt platform plugin windows错误解决方法
    解决MySQL 8.0数据库出现乱码的问题
    C# Winform程序设计运行在高分屏下模糊解决办法
    如何配置SQL Server数据库远程连接
    PyCharm安装及使用教程
    Chrome谷歌浏览器实用插件
    Visual Studio 2017中如何创建安装打包项目
    Python如何打包EXE可执行文件
    C#中控制线程池的执行顺序
    .net core 部署在Centos 7/8 的几个小坑
  • 原文地址:https://www.cnblogs.com/weihc/p/12147652.html
Copyright © 2011-2022 走看看