Jmeter分布式压测部署及应用

1 windows环境

1.1 配置环境变量

安装jdk-8u151-windows-x64.exe,无脑下一步

添加JAVA_HOME
C:\Program Files\Java\jdk1.8.0_151

如下图

在这里插入图片描述

添加JMETER_HOME
D:\办公\3.软件\jmeter5.1+java1.8\apache-jmeter-5.3

如下图
在这里插入图片描述

添加CLASSPATH
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JMETER_HOME\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar

如下图
在这里插入图片描述

添加Path
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
%JMETER_HOME%\bin

如下图
在这里插入图片描述

1.2 修改Jmeter配置文件

#D:/**/apache-jmeter-5.3/bin/jmeter.properties

server.rmi.ssl.disable=true      # 改成true

#添加负载机:
remote_hosts=172.168.0.2:1099,172.168.0.3:1099,172.168.0.4:1099

1.3启动jmeter

在这里插入图片描述
根据测试需求配置需要的线程(这里创建一个web接口的测试模板提供参考)
在这里插入图片描述
添加请求头header
在这里插入图片描述
测试地址根据需求填写,注意下图要勾选使用keepalive
(不勾选keep-alive的时候,当建立连接,数据传输完毕之后,服务器就会率先发起断开连接的操作,这个时候连接的状态为TIME_WAIT,并会保持2MSL(即两倍的分段最大生存期)。处于TIME_WAIT状态的连接占用的资源不会被内核释放,所以会严重影响服务器的处理能力,甚至耗尽socket,导致其他的请求不能处理。)

在这里插入图片描述
单机压测,查看报告
在这里插入图片描述

1.4启动分布式jmeter

开启slave
把安装包分发到slave机器
如上配置文件中填写的
172.168.0.2,172.168.0.3,172.168.0.4
在slave机上启动客户端jmeter-server.bat
在这里插入图片描述
启动后,如下图看到slave已经启动。
在这里插入图片描述
slave机启动后,在master选择 运行,远程启动/远程启动所有,就可以分布式的多台slave机一起压测了。
在这里插入图片描述

2 linux环境

2.1 安装jdk+jmeter5.3

1)下载rpm包jdk-8u101-linux-x64.rpm上次到服务器
2)安装jdk-rpm包

rpm -ivh jdk-8u101-linux-x64.rpm

在这里插入图片描述
3)验证安装是否生效

java -version

在这里插入图片描述
4)jmeter上传于解压
上传apache-jmeter-5.3.zip到服务启
#解压

#解压
unzip apache-jmeter-5.3.zip -d /usr/local/
chmod 777 /usr/local/apache-jmeter-5.3/bin/jmeter
chmod 777 /usr/local/apache-jmeter-5.3/bin/jmeter-server

2.2 配置环境变量

修改/etc/profile文件,并添加:

#vi /etc/profile
#插入一下内容
export JMETER_HOME=/usr/local/apache-jmeter-5.3
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH

配置的环境变量即可生效

source /etc/profile

验证jmeter安装是否生效

jmeter --version

在这里插入图片描述

2.3 环境优化

1)配置jmeter的使用内存,根据实际服务器和测试需求量来修改

vi /usr/local/apache-jmeter-5.3/bin/jmeter

在这里插入图片描述
2)优化linux内存参数
修改limits.conf文件,并添加:

#vi /etc/security/limits.conf
*  soft  nofile    102400
*  hard  nofile    102400
*  soft  nproc     65535
*  hard  nproc     65535

重新打开SSH终端,执行如下命令查看是否生效

ulimit -n

在这里插入图片描述
修改/etc/sysctl.conf文件,并添加:

vi  /etc/sysctl.conf
net.ipv4.tcp_syncookies = 0
fs.file-max = 12553500
fs.nr_open = 12453500
kernel.shmall= 1048576
kernel.shmmax = 1887436
kernel.msgmax = 65536
kernel.sysrq = 0
kernel.pid_max= 65536
net.core.netdev_max_backlog = 2000000
net.core.rmem_default = 699040
net.core.rmem_max = 50331648
net.core.wmem_default = 131072
net.core.wmem_max = 33554432
net.core.somaxconn = 65535
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_mem = 1048576 1572864 2097152
net.ipv4.tcp_rmem = 4096 4194304 8388608
net.ipv4.tcp_wmem = 4096 4194304 8388608
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_window_scaling = 1
vm.swappiness = 0

#TCP connection recovery
net.ipv4.tcp_max_tw_buckets = 6000000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.route.max_size = 5242880
net.ipv4.ip_forward = 1
#0表示不开启检查时间错,建议设置0
net.ipv4.tcp_timestamps = 0
#开启对于TCP时间戳的支持,若该项设置为0,则下面一项设置不起作用

#TCP connection manager
net.ipv4.tcp_max_syn_backlog = 655360
net.ipv4.tcp_syn_retries = 6
net.ipv4.tcp_retries1 = 3
net.ipv4.tcp_retries2 = 6

#TCP keepalive
net.ipv4.ip_local_port_range = 1025 65534
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3

输入下面的命令,让内核参数生效:

sysctl-p

2.4 修改Jmeter配置文件

#vi /usr/local/apache-jmeter-5.3/bin/jmeter.properties

server.rmi.ssl.disable=true      # 改成true

#添加负载机:
remote_hosts=172.168.0.2:1099,172.168.0.3:1099,172.168.0.4:1099

2.5 修改jmx文件

通过windows打开jmeter,同上面windows配置把需要压测的信息配置完成后,保存为****.jmx文件,上传到linux服务。

2.6 启动jmeter

1)先分别启动slave上的服务,命令如下

jmeter-server -Djava.rmi.server.hostname=172.168.0.2 #本地IP

2)启动master,命令如下

jmeter -n -t ****.jmx   -r   -l   /tmp/result/test.jtl   -e  -o   /tmp/report

参数 n:非gui运行
t:指定测试脚本
R:指定多少个 agent 启动并参与测试
r: 代表全部 agent 启动并参与测试
l:生成测试结果文件

2.7 打包查看测试报告

将linux下的report打包成zip,然后导出到windows下查看index.html测试报告

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值