Jmeter分布式压力测试

目录

1、场景

2、原理

3、注意事项

4、slave配置

5、master配置

6、脚本执行


1、场景

在做性能测试时,单台机器进行压测可能达不到预期结果。主要原因是单台机器压到一定程度会出现瓶颈。也有可能单机网卡跟不上造成结果偏差较大。

例如4C8G的window server机器,使用UI方式,最高压测在1800并发(RT 20ms以内)左右。如果对于XML文件进行解析,更容易吃CPU,并发数会更低。

当单台机器不能支持更大的并发时需要考虑分布式压力测试。

2、原理

原理图如下:

  • Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)
  • master通过GUI界面启动slave机器,将jmeter压测发送给每台启动的slave
  • slave启动jmeter-server,获得脚本后开始执行
  • slave执行完成后将结果传回给master,master收集整合显示

3、注意事项

  1. 关闭防火墙和杀毒软件,开放端口
复制代码
$ service firewalld stop
$ service iptables stop

2.所有机器最好在同一个子网上

可以使用ping命令进行检查

3.所有机器中最好使用相同版本的jdk和jmeter

4.禁用SSL

如果在启动jmeter-server.bat 时出现如下错误,则SSL没有禁用

禁用方法,jmeter.properties文件下查找server.rmi.ssl.disable,取消注释,并将其值修改为true:server.rmi.ssl.disable=true

4、slave配置

在slave机器中,启动bin目录下的 jmeter-server.bat,如下图:

启动后的ip和port为:192.168.10.131:50043

当然启动时端口也是可以自定义的。

在slave机器的 Jmeter的bin目录下,修改jmeter.properties文件下的server_port和server.rmi.localport两个配置项。比如修改为1000:

server_port=4444

server.rmi.localport=4444

启动后的ip和port为:192.168.10.131:4444

5、master配置

在master机器的 Jmeter的bin目录下,修改jmeter.properties文件下的remote_hosts项,添加IP和port,多台slave的情况下,使用逗号(,)进行分割。

完成配置后启动master机器上的 jmeter。

在Run>>Remote Start下可以查看配置的remote_hosts项。

注意:如果jmeter已经启动,修改jmeter.properties文件后需要重启jmeter配置项才可以生效。

6、脚本执行

新建一个线程组,线程组下添加一个debug sampler调试采样器和一个树结构监听器

将debug sampler重新命名为:${__machineIP()} ,该函数的意思是获取执行机器的ip

通过菜单栏的开始按钮运行脚本

通过 Run>>Remote Start>>192.168.10.131:4444运行脚本

如果要同时在所有的 slave 机器上运行,则通过 Run>>Remote Start All 执行脚本

注意:

在分布式执行中,master向slave发送测试计划时不会将外部文件一起发送。所以在测试中如果使用csv等外部文件进行参数化,则需要把参数文件在每台slave上拷贝一份,最好都放置在bin目录下,因为Jmeter会直接从bin目录下查找。


以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以评论区,留言【777】直接拿走就好了

各位想获取资料的朋友请 点赞 + 评论 + 收藏 ,三连!

三连之后我会在评论区挨个私信发给你们~

相关推荐
黄尚圈圈1 小时前
快速理解mQ(三)——RabbitMQ 各种交换机的区别与应用
分布式·rabbitmq
ON.LIN2 小时前
Hadoop大数据入门——Hive-SQL语法大全
大数据·数据库·hive·hadoop·分布式·sql
大霞上仙2 小时前
jmeter学习(7)beanshell
学习·jmeter
大霞上仙2 小时前
jmeter学习(1)线程组与发送请求
java·学习·jmeter
励志成为美貌才华为一体的女子3 小时前
《大规模语言模型从理论到实践》第一轮学习--第四章分布式训练
人工智能·分布式·语言模型
-$_$-3 小时前
【黑马点评】 使用RabbitMQ实现消息队列——1.Docker与RabbitMQ环境安装
分布式·docker·rabbitmq
weixin_453965004 小时前
master节点k8s部署]33.ceph分布式存储(四)
分布式·ceph·kubernetes
路上^_^4 小时前
Jmeter入门
jmeter
害羞的白菜5 小时前
Nginx基础详解5(nginx集群、四七层的负载均衡、Jmeter工具的使用、实验验证集群的性能与单节点的性能)
linux·运维·笔记·jmeter·nginx·centos·负载均衡