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 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)的更多相关文章
- Jmeter之分布式执行测试
一. 安装Java 1.1下载JDK 1) Windows安装jdk,下载完成后,双击安装 2) Linux解压:tar -zxvf jdk-8u74-linux-x64.gz 1.2 Java环境变 ...
- AWS EC2+Docker+JMeter构建分布式负载测试基础架构
目录 概述及范围 前提条件 Part 1: Local setup-本地配置 Part 2: Cloud端基础架构--Infrastructure 总结: 原文链接 @ 概述及范围 本文介绍有关如何使 ...
- Jmeter性能测试-分布式压力测试
作为一个测试行业的菜鸟,由于投身于一个小公司,包揽所有的测试.刚开始的功能测试到接口测试,稳定性测试,兼容性测试等,一般由于是小项目所以对于性能有所忽略,也没怎么涉及,公司接了个大项目,后期对于性能上 ...
- jmeter 非GUI执行测试,导入jtl文件没有响应数据出来办法
jemter 官方也一直强调要在非GUI下执行 Run your JMeter test in command-line non-GUI mode as 在linux下执行jmeter压力测试,生成j ...
- jmeter 非GUI执行测试,没有响应数据保存到jtl文件办法
估计是jmeter为了减轻客户机负担,就没又默认把这些信息保存,如果想要保存,也可以,需要做出如下配置: 修改bin目录下的user.properties文件,追加配置: jmeter.save.sa ...
- 【Jmeter】分布式并发测试
一.前提: 1.最近在做一下压测,但是单台服务器的CPU,内存可能不够支撑压测的项目,这时候,我们可以使用Jmeter分布式压测. 2.本次使用的环境: 1台服务器做master(调度器) 5台服务器 ...
- linux使用JMETER进行分布式压力测试
1. 下载jmeter tgz文件 http://jmeter.apache.org/download_jmeter.cgi 2. 登录linux服务器,创建jmeter目录,rz上传jmeter ...
- Jmeter之分布式部署测试
在使用Jmeter进行性能测试时,因受单机电脑的配置限制,可能无法支持较大数量的并发,此时就需要使用Jmeter提供的分布式测试的功能. jmeter分布式测试的执行原理是选择一台作为调度机,其他机器 ...
- Jmeter之分布式测试
1)Jmeter 是纯java 应用,对于CPU和内存的消耗比较大,并且受到JVM的一些限制: 一般情况下,依据机器配置,单机的发压量为300-600,因此,当需要模拟数以千计的并发用户时,使用单台机 ...
随机推荐
- 免费|申请谷歌云服务器|msf安装
apt-get install -y wget 参考链接 知乎-免费|申请谷歌云服务器 知乎-免费|申请谷歌云服务器 cnblogs-debian.ubuntu安装metasploit通用方法 谷歌云 ...
- Windows SMBv3 CVE-2020-0796 漏洞分析和l漏洞复现
0x00 漏洞描述 漏洞公告显示,SMB 3.1.1协议中处理压缩消息时,对其中数据没有经过安全检查,直接使用会引发内存破坏漏洞,可能被攻击者利用远程执行任意代码.攻击者利用该漏洞无须权限即可实现远 ...
- Python相比其他计算机语言真的更有优势吗?
要了解Python相比其他计算机语言,首先要了解Python语言的特点 Python语言的特点 一.简单易学.明确优雅.开发速度快 ①简单易学:与 C 和 Java 比,Python的学习成本和难度曲 ...
- 怎么用思维导图软件iMindMap整理发文思路
如果你是一个普通的博客作者,那么你就应该明白在枯竭时寻找灵感就像是一场噩梦,即使你有一千个想法,但是你无法将它们关联起来也是无用的,所以,为什么不试试iMindMap思维导图呢,尝试创新,进行组建,你 ...
- Mac小白用户都能体验Windows应用的轻量级软件
近期,苹果在WWDC大会上表示Mac电脑将转向ARM架构,这意味着为iPhone手机.iPad平板和Mac电脑应用APP提供了统一的可能性.也就是说,iPhone手机.iPad平板电脑的应用可能在Ma ...
- 如何用pdfFactory新建打印机并设置属性
今天我们来讲一讲,在pdfFactory中如何去修改PDF文件打印页面的页边距.页面大小.页面清晰度等属性参数. pdfFactory是一款Windows平台上的虚拟打印机,在没有打印机可以安装的情况 ...
- php项目使用git的webhooks实现自动部署
前言 在项目开发中使用git进行代码的管理,每次完成更改上传代码后,还需要登录服务器将代码拉取下来.现在git服务器(gitee/gitlab/github)都会有Webhooks功能,以实现在向gi ...
- 使用react终端运行npm start时报错
npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! my-app@0.1.0 start: `react-scripts start` npm ERR ...
- Django REST Framework JWT 用户的登录注册
安装配配置 pip install djangorestframework-jwt 配置setting ########### 1.在INSTALLED_APPS中加入'rest_framework. ...
- day1(Django)
1,web项目工作流程 1.1 了解web程序工作流程 1.2 django生命周期 2,django介绍 目的:了解Django框架的作用和特点作用: 简便.快速的开发数据库驱动的网站 Djan ...