jmeter分布式测试安装部署步骤
一、下载linux版本的jdk ----注:下载的jdk和jmeter要与window的jdk和jmeter一致 下载地址:https://www.oracle.com/java/technologies/downloads/#java11
二、在虚拟机中使用su root 超级管理员的账号进行操作,在/usr/local下创建jdk文件夹
在linux中输入命令:cd /usr/local ----命令:mkdir jdk
三、上传jdk1.8包上传到指定目录jdk中,将其解压到jdk目录下
在linux中输入命令:tar -zxvf jdk-8u261-linux-x64.tar.gz
四、配置环境变量——在linux中输入命令:vim /etc/profile
在最后添加如下(注意:系统之前如果有环境变量则不要动他们,在原有的基础添加jdk环境变量即可):
#set java enviroment
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_144 ------linux下安装jdk的位置
export JRE_HOME=${JAVA_HOME}/jre
export CLASS_PATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
五、执行profile文件。 输入命令:source /etc/profile
六、查看jdk安装情况。输入命令:java -version 出现图下则表示安装成功

七、安装jmeter,将windows下的包发送到linux中并进行解压,进入安装包目录执行解压。输入命令:tar zxvf apache-jmeter-5.2.1.tgz
八、执行命令vi /etc/profile,在文件底部增加如下内容,并保存。输入命令按i,保存退出命令为:wq
JMETER=/home/root2/jmeter/apache-jmeter-5.2.1 ------linux下jmeter存放的位置
CLASSPATH=$JMETER/lib/ext/ApacheJMeter_core.jar:$JMETER/lib/jorphan.jar:$JMETER/lib/logkit-2.0.jar:$CLASSPATH
PATH=$PATH:$JMETER/bin
export JMETER PATH
九、执行命令source /etc/profile ,生效文件修改。
十、执行命令jmeter -v,显示jmeter版本信息则表示安装成功

十一、分布式部署操作步骤:
1、控制机和执行机的配置
1) 控制机设置:
打开在windows下的jmeter中的bin-jmeter.properties文件,搜索host,编辑remote_hosts=localhost:1099,localhost:2010 (该地址为linux下执行机的地址,具体地址信息可在linux下输入ifconfig可查看地址)
如下:
# remote_hosts=127.0.0.1
remote_hosts=192.168.202.130:1099 (有多少台执行机,则添加多少台执行机的ip,端口都一致,多台以逗号进行隔开)
关闭ssl设置--不关闭会连不上执行机:
打开在windows下的jmeter中的bin-jmeter.properties文件,搜索以下,将false改为true,改为后如下:
#Set this if you don't want to use SSL for RMI
server.rmi.ssl.disable=true
2)执行机设置
打开在linux下的jmeter中的bin-jmeter.properties文件,搜索host,编辑remote_hosts=localhost:1099,localhost:2010 (该地址为linux下执行机的地址,具体地址信息可在linux下输入ifconfig可查看地址)
如下:
# remote_hosts=127.0.0.1
remote_hosts=192.168.202.130:1099
关闭ssl设置--不关闭会连不上执行机:
打开在linux下的jmeter中的bin-jmeter.properties文件,搜索以下,将false改为true,改为后如下:
#Set this if you don't want to use SSL for RMI
server.rmi.ssl.disable=true
2、配置完后,操作流程
1) 启动运行:在;linux下进入bin目录下运行: ./jmeter-server -Djava.rmi.server.hostname=192.168.202.130:1099
2) 如运行因为权限不够提示以下报错:
bash: ./jmeter-server: Permission denied
3)修改最高权限
chmod 777 jmeter-server
4)再次运行: ./jmeter-server -Djava.rmi.server.hostname=192.168.202.130
5)出现下图则运行成功:

3、在window上进行远程启动执行机报错场景的解决方案
解决方案:
1)查看slave上的ip与master配置文件中的ip是否一致;
如果不一致,查看slave机器上是否有虚拟网卡,将网卡关闭,在此启动Jmeter-server.bat,查看是否正确
2)查看防火墙是否关闭
注:centos7上关闭防火墙: firewall-cmd --state //查看防火墙状态
systemctl stop firewalld.service //关闭防火墙
问题1:当设置csv文件路径时,如果路径不对,无响应
解决方法:将csv文件以“相对路径”命名,即将csv文件直接放入bin目录下,在Jmeter路径中直接写入文件名
问题2:(Linux)默认端看1099被占用,如何关闭某个被占用端口的方法
1)netstat -ntlp //查看当前所以tcp端口
nestat -ntulp |grep 1109 //查看所有1109端口使用情况
2)lsof -i:1109 //查看占用1109端口的程序pid
3)kill -9 1109 //kill掉该进程
(windows)上关闭已被占用的端口 http://www.jb51.net/os/windows/203315.html
如1099端口被占用:1)在cmd命令行下输入以下命令:netstat -aon|findstr "1099",回车之后就可以看见列表中的PID,然后根据PID在电脑的任务管理器中查看对应的占用程序,然后将其关闭即可;2)然后根据查询的PID找到对应的进程,我们可以看到占有1099这个程序的进程ID,如:5264,继续输入命令【tasklist|findstr "5264"】,5264就是进程ID,现在知道是哪个进程占用的我们的端口,即可在任务管理器中杀掉该进程。
问题3:如果使用slave发送数据后,长时间无响应
问题排查:
1)查看发送的数据中是否存在csv参数文件,查看slave机器的bin目录下是否有该文件;
2)查看建立的tcp采样器中属性“TCPClient classname”处是否添加协议:org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl
问题4:如果你的JMeter返回数据是乱码
解决方法:在JMeter安装路径的bin目录下,打开文件jmeter.properties,把Sampleresult.default.encoding的值改为 utf-8 即可。
问题5:启动jmeter时,报错:Error occurred during initialization of VM Could not reserve enough space for object heap errorlevel=1
解决方法:1)bin目录下打开jmeter.bat文件,查找set HEAP,将set HEAP=-Xms128m -Xmx512m修改为set HEAP=-Xms512m -Xmx512m;2)重新启动jmeter.bat即可
问题6:当jmeter用作数据库API测试时,如果数据库接口中参数中传递一个数组,如getApps(int nu, int appID[ ]),实际使用过程中报语法错误
解决方法:可尝试在调用该接口传参中加入关键字“ARRAY”,如getApps(3, ARRAY[7,8])
jmeter分布式测试安装部署步骤的更多相关文章
- JMeter 分布式测试部署
对于并发量很大的需求,如上万并发量,受到CPU和内存的限制,单机模拟场景是实现不了的,为了让JMeter提供更大的负载能力,须使用它的分布式机制,即多台机器同时产生负载的功能. 以下参数分析可用于配置 ...
- jmeter分布式测试教程和远程的代理机无法连接网络的问题解决方法
一.Jmeter分布式执行原理: 1.Jmeter分布式测试时,选择其中一台作为控制机(Controller),其它机器做为代理机(Agent). 2.执行时,Controller会把脚本发送到每台A ...
- 转:Jmeter分布式测试
在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能. 一.Jmeter分 ...
- Jmeter --- 分布式测试
在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能. 一.Jmeter分 ...
- Jmeter分布式测试笔记
在性能测试过程中,如果要求并发数较大时(例如1000+),单机配置cpu与内存等无法支持,则需要使用Jmeter的分布式测试方法. 一.一般什么情况下需要分布式 1.前辈经验:比如机器i5双核的cpu ...
- 『动善时』JMeter基础 — 58、JMeter分布式测试
目录 1.JMeter分布式测试概念 2.JMeter分布式测试前提条件 3.JMeter实现分布式测试 (1)在执行机中的配置 (2)在控制机中的配置 (3)启动执行机中的JMeter服务 (4)在 ...
- 『动善时』JMeter基础 — 59、进行JMeter分布式测试遇到的坑
目录 1.控制机端 (1)执行机没有关闭防火墙 (2)内存溢出 2.执行机端 (1)启动jmeter-server服务情况一 (2)启动jmeter-server服务情况二 (3)启动jmeter-s ...
- 【Fine原创】JMeter分布式测试中踩过的那些坑
最近因为项目需要,研究了性能测试的相关内容,并且最终选用了jmeter这一轻量级开源工具.因为一直使用jmeter的GUI模式进行脚本设计,到测试执行阶段工具本身对资源的过量消耗给性能测试带来了瓶颈, ...
- Storm集群安装部署步骤【详细版】
作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: http://www.cnblogs.com/panfeng412/archive/2012/11/30/how ...
- Storm集群安装部署步骤
本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章节以"注意事项"的形式给出. 1. Sto ...
随机推荐
- 【Android HttpClient引入】感慨下自己看的Android教程有点老了
教程看到使用HttpClient,发现没有继承该类. 原因是API23即在Android 6.0(API 23) 后,Google已经移除了Apache HttpClient 相关类,推荐使用Http ...
- 延期!欧盟新标EN IEC 62368-1:2020延至2024年7月6日生效
近日,TC108X成员投票同意将EN IEC 62368-1:2020(对应IEC 62368-1第三版)的DOW (Date Of Withdrawn)日期由原先的2023年1月6日延长至2024年 ...
- Python 错误:ModuleNotFoundError: No module named 'conf'
问题描述: 编译器无法使用cmd命令来执行py文件,结果可能报ModuleNotFoundError的错误. 比如在cmd任务栏执行:python E:\myProgram\Python\spider ...
- Python+Django(1)——建立项目
为项目新建一个目录,将其命名为learning_log,再在终端中切换到这个目录(Python 3): 运行模块venv 来创建一个名为ll_env的虚拟环境:python -m venv ll_en ...
- SpringBoot 快速开启事务(附常见坑点)
序言:此前,我们主要通过XML配置Spring来托管事务.在SpringBoot则非常简单,只需在业务层添加事务注解(@Transactional )即可快速开启事务.虽然事务很简单,但对于数据方面是 ...
- ajax的简单应用
jsp文件: <%@ page import="java.text.SimpleDateFormat" %><%@ page import="java. ...
- 使用navicat连接本地数据库时,出现错误1251错误
在安装完MySQL的时候,我们现在一般都使用Navicat来连接数据库,可惜出现下面的错误:1251-Client does not support authentication protocol r ...
- 09 Hive安装与操作
一.安装Hive 下载解压重命名权限 配置环境变量 修改Hive配置文件 修改/usr/local/hive/conf下的hive-site.xml 1 2 3 4 5 6 7 8 9 10 11 1 ...
- Java的流程控制
Scanner对象 next(); 一定要读取到有效字符后才可以结束输入. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉(). 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束 ...
- 关于nth-of-type的注意事项
普通使用 nth-of-type: <div class="box"> <div> 第一个元素 </div> <p>没有用的元素&l ...