一. 安装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之分布式执行测试 (2)的更多相关文章

  1. Jmeter之分布式执行测试

    一. 安装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. 5G时代,URL Rewrite 还吃香吗

    URL Rewrite是网站建设中经常用到的一项技巧,通过 rewrite 我们能够屏蔽服务器运行态的信息,包括服务的程序.参数等等,给用户呈现美化后的URL,同时对搜索引擎更加友好,方便我们网站的推 ...

  2. 如何用CorelDRAW画箭头?

    CorelDRAW,简称为cdr,是一款专业的矢量绘图软件,在设计界也是常用的专业设计之一,在日常的设计工作中,我们常常需要绘制一些特殊的图形,比如箭头.很多对cdr不是特别熟练的小伙伴不知道如何用c ...

  3. Go-Web编程_表单_0x02_验证表单的输入

    开发Web的一个原则就是,不能信任用户输入的任何信息,所以验证和过滤用户的输入信息就变得非常重要,我们经常会在微博.新闻中听到某某网站被入侵了,存在什么漏洞,这些大多是因为网站对于用户输入的信息没有做 ...

  4. tcp连接的三次握手

    为什么tcp连接需要三次握手才能建立连接 主要是为了初始化sequence number的初始值,通信的双方要互相通知双方的sequence number,这个要作为以后数据通信的序号,保证以后不会因 ...

  5. Jmeter(二十九) - 从入门到精通 - Jmeter Http协议录制脚本工具-Badboy2(详解教程)

    1.简介 上一篇文中已经对Badboy做了一个基本上详细完整的介绍,这一篇宏哥带你们实战一下,这一篇主要讲解和分享:录制和运行脚本.参数化 首先让我们使用N模式录制一个脚本,测试用例编号为:1.1.1 ...

  6. 基于dubbo-config api编写provider,api

    不管是XML配置还是注解方式,最终都会转换成java api对应的配置对象. provider: import com.alibaba.dubbo.config.ApplicationConfig;i ...

  7. synchronized底层揭秘

    前言 上篇文章我们从硬件级别探索,对可见性和有序性的认识上升了一个高度,却迟迟没有介绍原子性的解决方案. 今天我们就来聊一聊原子性的解决方案,锁. 引入锁机制,除了可以保证原子性,同时也可以保证可见性 ...

  8. Oracle11gR2 RAC voting disk error

    故障现象:2+3节点配置,alert日志中提示vote盘错误,集群无法拉起来. 分析过程:Oracle 11g RAC依据OLR,OCR,VOTE磁盘进行节点信息注册,维护集群状态以及完成选举投票.其 ...

  9. Steps 组件的设计与实现

    NutUI 组件源码揭秘 前言 本文的主题是 Steps 组件的设计与实现.Steps 组件是 Steps 步骤和 Timeline 组件结合的组件,在此之前他们是两个不同的组件,在 NutUI 最近 ...

  10. Apache Beam,批处理和流式处理的融合!

    1. 概述 在本教程中,我们将介绍 Apache Beam 并探讨其基本概念. 我们将首先演示使用 Apache Beam 的用例和好处,然后介绍基本概念和术语.之后,我们将通过一个简单的例子来说明 ...