前一段时间临时接了个项目,大体描述如下: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 ,运行正常。