Jmeter分布式压力测试

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目录下查找。

相关推荐
明达技术5 小时前
分布式 IO 模块携手 PLC,开启设备车间降本增效新篇章
分布式
Swift社区9 小时前
【分布式日志篇】从工具选型到实战部署:全面解析日志采集与管理路径
人工智能·spring boot·分布式
天堂的恶魔94610 小时前
软件测试 —— jmeter(2)
jmeter
指尖下的技术11 小时前
Kafka面试题----Kafka消息是采用Pull模式,还是Push模式
分布式·kafka
码至终章13 小时前
kafka常用目录文件解析
java·分布式·后端·kafka·mq
小马爱打代码13 小时前
Kafka-常见的问题解答
分布式·kafka
峰子201214 小时前
B站评论系统的多级存储架构
开发语言·数据库·分布式·后端·golang·tidb
weisian15114 小时前
消息队列篇--原理篇--Pulsar和Kafka对比分析
分布式·kafka
无锡布里渊14 小时前
分布式光纤应变监测是一种高精度、分布式的监测技术
分布式·温度监测·分布式光纤测温·厘米级·火灾预警·线型感温火灾监测·分布式光纤应变
40岁的系统架构师15 小时前
15 分布式锁和分布式session
分布式·系统架构