一. 安装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 Files\Java\jdk1.8.0_92】【jdk安装路径】
变量名:【path】
变量值:【\;%JAVA_HOME%\bin;】
变量名:【CLASSPATH】
变量值:【.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.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_HOME\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMET ER_HOME%\lib\logkit-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

Jmeter之分布式执行测试的更多相关文章

  1. Jmeter之分布式执行测试 (2)

    一. 安装Java 1.1下载JDK 1) Windows安装jdk,下载完成后,双击安装 2) Linux解压:tar -zxvf jdk-8u74-linux-x64.gz 1.2 Java环境变 ...

  2. AWS EC2+Docker+JMeter构建分布式负载测试基础架构

    目录 概述及范围 前提条件 Part 1: Local setup-本地配置 Part 2: Cloud端基础架构--Infrastructure 总结: 原文链接 @ 概述及范围 本文介绍有关如何使 ...

  3. Jmeter性能测试-分布式压力测试

    作为一个测试行业的菜鸟,由于投身于一个小公司,包揽所有的测试.刚开始的功能测试到接口测试,稳定性测试,兼容性测试等,一般由于是小项目所以对于性能有所忽略,也没怎么涉及,公司接了个大项目,后期对于性能上 ...

  4. jmeter 非GUI执行测试,导入jtl文件没有响应数据出来办法

    jemter 官方也一直强调要在非GUI下执行 Run your JMeter test in command-line non-GUI mode as 在linux下执行jmeter压力测试,生成j ...

  5. jmeter 非GUI执行测试,没有响应数据保存到jtl文件办法

    估计是jmeter为了减轻客户机负担,就没又默认把这些信息保存,如果想要保存,也可以,需要做出如下配置: 修改bin目录下的user.properties文件,追加配置: jmeter.save.sa ...

  6. 【Jmeter】分布式并发测试

    一.前提: 1.最近在做一下压测,但是单台服务器的CPU,内存可能不够支撑压测的项目,这时候,我们可以使用Jmeter分布式压测. 2.本次使用的环境: 1台服务器做master(调度器) 5台服务器 ...

  7. linux使用JMETER进行分布式压力测试

    1. 下载jmeter tgz文件   http://jmeter.apache.org/download_jmeter.cgi 2. 登录linux服务器,创建jmeter目录,rz上传jmeter ...

  8. Jmeter之分布式部署测试

    在使用Jmeter进行性能测试时,因受单机电脑的配置限制,可能无法支持较大数量的并发,此时就需要使用Jmeter提供的分布式测试的功能. jmeter分布式测试的执行原理是选择一台作为调度机,其他机器 ...

  9. Jmeter之分布式测试

    1)Jmeter 是纯java 应用,对于CPU和内存的消耗比较大,并且受到JVM的一些限制: 一般情况下,依据机器配置,单机的发压量为300-600,因此,当需要模拟数以千计的并发用户时,使用单台机 ...

随机推荐

  1. Netty4.x 源码实战系列(一): 深入理解ServerBootstrap 与 Bootstrap

    转载自:https://www.cnblogs.com/itdriver/p/8149913.html 从Java1.4开始, Java引入了non-blocking IO,简称NIO.NIO与传统s ...

  2. VESA时序与BT1120的区别

    在实现内嵌传输的过程中,笔者参考VESA的时序,也就是下图,实现了一个内嵌同步的程序,同步码放在H Back Porch与H Front Porch的后端与前端,但是在传输过程中发现接收端画面不正常. ...

  3. js点击空白处触发事件

    我们经常会出现点击空白处关闭弹出框或触发事件 <div class="aa" style="width: 200px;height: 200px;backgroun ...

  4. Redis集群master选举时长测试

    在一台物理机上启动6个Redis实例,组成3主3从集群,端口号依次为:1379 ~ 1384,端口号1379.1380和1384三个为master,端口1379的进程ID为17620.现将进程1762 ...

  5. 浮点型转整数型进行计算 - 移动GIS设备硬件的原因

    在ArcGIS9.1之前桌面版ArcGIS都是采用整数存储的,是为了效率,将浮点型转为整数型存储,但9.2之后随着硬件的提升,浮点型的效率已经得到提高了,所以不再转换.但移动GIS设备还是要转整数型. ...

  6. Hdu4135 Co-prime 2017-06-27 16:03 25人阅读 评论(0) 收藏

    Co-prime Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Subm ...

  7. 《如何阅读it技术书》课堂笔记——51cto

    对一些书的看法: “21天精通JAVA之类”的书,好好理解精通二字,哪里有这么快就能学的会. 吐槽新人: Oop理论,别写出来的都是面向过程式. 桌面乱七八糟. 对新人分享一些经验: 阅读时自我提神的 ...

  8. Android创建AVD模拟器

    Android创建AVD模拟器 1. 新建一个安卓工程如下: 2. 点击windows里的 Android Virtual Device Manager,如果第一次安装 adt-bundle启动会出现 ...

  9. docker opencpu R

    有一个项目中用到了docker opencpu R,这里把所学的整理下. docker,一个运行容器,搭建一次,以后可以很方便的移植,win7 64下也可以装. opencpu,云端计算,运行R函数和 ...

  10. htpasswd建立和更新存储用户名、密码

    htpasswd建立和更新存储用户名.密码的文本文件, 用于对HTTP用户的basic认证. # /usr/local/apache/bin/htpasswd --help Usage: htpass ...