前一段时间临时接了个项目,大体描述如下:4个接口,因更换服务器环境需要做压测,已知并发都在1000以上,此次在应用和数据库上都加了缓存,那么并发就在1000以上,单机压测,肯定承受不了了,所以本次使用了分布式压测。
分布式压测的前期准备:
1台master window环境,2台slave linux环境。linux 连接工具使用的是Xshell 6
分布式压测的环境准备:
1、master window中安装JDK1.8.0 ,Jmeter 5.0 Windows 下环境安装较简单,不再详细写明。
2、linux 环境也安装JDK1.8.0,Jmeter5.0 ,详细操作如下: linux环境为CentOS,首先在root 路径下查询性能参数:ulimit -a
open files 为65535 修改max user processes 为10240 命令为 ulimit -u 10240
第二步:安装jdk :
首先安装上传下载工具lrzsz ,命令:yum install lrzsz ,上传是rz,下载sz ; 安装解压缩工具:yum install -y unzip zip ,安装成功后就可以使用unzip 命令。
上传已下载好的jdk,jdk-8u151-linux-x64.tar.gz,新建目录 mkdir usr/java
在java目录下安装jdk, tar -zxvf jdk-7u79-linux-x64.tar.gz
设置环境变量:
[root@iZbp13cm5fu4inndct96ygZ java]# vi /etc/profile
vi下 i:进行编辑,编辑成功后按Esc退出编辑页面,shift+: 转化命令,wq!,退出保存。
让命令生效,source /etc/profile
验证jdk 有效性: java -version
3.安装Jmeter
上传jmeter,解压缩就可使用。
4、设置slave jmeter 的配置信息:
在该模块下修改:server.rmi.ssl.disable=true ;server_port=1099 ;server.rmi.localport=1099
在slave下修改好这两个信息,然后启动bin目录下的:jmeter-server.bat 命令:[root@lbsclient1 bin]# ./jmeter-server 启动成功如下图:
至此slave 配置完成,另一台服务器是同样的操作。接下来让我们看一下master上的配置:
首先修改注册表,否则高并发下jmeter会报错:
注册表修改如下:运行 regedit ,在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/TCPip/Parameters 点击Parameters 添加三个变量,详细信息如下:
修改master 的jmeter.properties 文件:首先在cmd中查看ipconfig,查看是否有多个网卡。以图为例,阿里云上的服务器有多个网卡
修改jmeter.properties:
server.rmi.ssl.disable=true,
先运行一下:
报错:
查看slave上的jmeter-log后,发现收到了121段ip的包,那么此时在master机上修改jmeter.bat
增加变量: set rmi_host=-Djava.rmi.server.hostname=10.81.53.84
至此重新远程调用slave ,运行正常。