一. 安装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. Mesos Marathon能做什么?理念是什么?(转)

    Mesos功能和特点? Mesos是如何实现整个数据中心统一管理的呢?核心的概念就是资源两级供给和作业两级调度.先说说从下而上的资源两级供给吧. 在Mesos集群中,资源的供应方都来自Mesos Sl ...

  2. ThreadPoolExecutor源码分析-面试问烂了的Java线程池执行流程,如果要问你具体的执行细节,你还会吗?

    Java版本:8u261. 对于Java中的线程池,面试问的最多的就是线程池中各个参数的含义,又或者是线程池执行的流程,彷佛这已成为了固定的模式与套路.但是假如我是面试官,现在我想问一些更细致的问题, ...

  3. jsonp和普通的ajax区别

    1.请求类型.返回类型不一样 2.返回数据类型

  4. 苹果电脑怎么给浏览器安装Folx扩展程序

    Folx是一款MacOS专用的老牌综合下载管理软件,它的软件界面简洁,应用简单方便,下载管理及软件设置灵活而强大.Folx不但能够进行页面链接下载.Youtube视频下载,而且还是专业的BT下载工具. ...

  5. Mac中的格式转换如何用读写工具Tuxera NTFS完成

    Tuxera NTFS for Mac是一款专门为Mac用户提供的NTFS驱动软件,它不仅可以进行磁盘文件的访问.编辑.传输和存储,还可以对硬盘进行维修检查以及修复. 今天小编就给大家简单介绍一下Tu ...

  6. 【性能测试】【locust】快速入门

    简介 locust是一个开源的分布式用户负载压力测试工具,对网站(其他系统,例如接口等)进行负载测试,并确定可以处理多少的并发用户,locust特点利用了协程支持,达到高数量级别的并发,以及基于事件驱 ...

  7. Vue Springboot (包括后端解决跨域)实现登录验证码功能详细完整版

    利用Hutool 基于Vue.ElementUI.Springboot (跨域)实现登录验证码功能 前言 一.Hutool是什么? 二.下面开始步入正题:使用步骤 1.先引入Hutool依赖 2.控制 ...

  8. 中级实训Android学习记录——Toast、AlertDialog、ProgressBar

    学习记录 2020/11/22 Toast Toast Toast是一个消息提示组件 我们可以设置其显示的位置 自定义其显示的内容 对Toast的简单封装可以达到不同的目的 Toast的默认用法 To ...

  9. CARDS主题 & 导航栏样式修改

    每个人对于主题样式的感觉是不一样的,譬如字体大小,间距,高宽,距离,颜色等,我们可以一定程度内很直观地去修改主题的某些样式. 首先,在浏览器中利用开发者工具进行调试,找到我们所要改动的那部分结构,写入 ...

  10. 网络篇:朋友面试之TCP/IP,回去等通知吧

    前言 最近和一同学聊天,他想换工作,然后去面了一家大厂.当时,他在简历上写着精通TCP/IP,本着对TCP协议稍有了解,面试官也不会深问的想法,就写了精通二字.没想到,大意了 关注公众号,一起交流,微 ...