Apache JMeter压力测试之分布式测试(多机联测)
来源:互联网 发布:吉林农产品交易所 知乎 编辑:程序博客网 时间:2024/05/01 07:10
引言
利用JMeter进行负载测试的时候,使用单台机器模拟数以千计的并发用户有些力不从心,在执行的过程中,可能会遇到诸如CPU、内存负载过高,address already in use,程序自动关闭等问题。这时可以使用分布式测试,即在多台机器上运行JMeter,以此获取更大的并发用户数。
关于分布式测试的详尽说明,可参阅官网资料,该文档也可在本地JMeter解压包中找到,位置为:%JMeter_HOME%/printable_docs/usermanual/jmeter_distributed_testing_step_by_step.html
下文作简要说明。
测试说明
为方便演示,在本教程中使用GUI模式。 实际测试时应该使用非GUI模式进行负载测试。
术语
Master(主控节点)
运行JMeter GUI,启动Slave,控制测试。
Slave(从节点)
运行jmeter-server,它从GUI接收命令并向目标系统发送请求。
Target(目标服务器)
要进行压力测试的网络服务器。
前置条件
(1) 所有的客户端(主节点、从节点)上的防火墙已关闭或已打开正确端口。
(2) 所有的客户端位于同一个子网。
(3) 如果使用192.x.x.x或10.x.x.x IP地址,则服务器位于同一子网中。 如果服务器不使用192.xx或10.xx IP地址,则无此限制。
(4) 确保JMeter可以访问服务器。
(5) 确保所有的客户端使用相同版本的JMeter和Java。混合版本将无法正常工作。
步骤
测试环境:
Win 10 + JDK 1.8 +Apache JMeter 3.2
(1) 在所有从节点,运行%JMeter_HOME%/ bin目录下的jmeter-server.bat —— 假定我们使用6台机器 192.168.0.10, ..., 192.168.0.15
(2) 在主节点的%JMeter_HOME%/ bin 目录,找到 jmeter.properties ,使用文本编辑器打开;
(3) 在打开的文件中查看“remote_hosts=127.0.0.1”这一行,remote_hosts 表示从节点信息。这里修改为:
remote_hosts=192.168.0.10:1099,192.168.0.11:1099 ,192.168.0.12:1099 ,192.168.0.13:1099 ,192.168.0.14:1099 ,192.168.0.15:1099
—— 其中1099 为 JMeter 的主节点和从节点之间进行通讯的RMI 端口号,使用默认端口号(1099)时,可不填,即直接填入IP地址即可。
(4) 保存文件,运行主节点上%JMeter_HOME%/ bin目录下的 jmeter.bat ,启动JMeter,打开要使用的测试计划。
(5) 点击 Run -> Remote Start 菜单,可以看到远程启动菜单下面有6个IP地址,如果要让某个节点执行,可以点击该节点的IP地址就可以。
(6) 如果要所有节点全部执行,可以点击Run-> Remote Start all ,或使用快捷键 Ctrl + Shift + R
Tips:
如果从节点不够用,也可将主节点同时作为从节点使用。方法如下:
(1) 修改主节点的 jmeter.properties 文件,将其IP地址写入;
(2) 先打开主节点,先运行jmeter-server.bat,然后再运行 jmeter.bat。
(3) 此时,进入Run -> Remote Start 菜单,可以看到主节点也作为从节点运行。
- Apache JMeter压力测试之分布式测试(多机联测)
- Jmeter分布式压力测试
- Jmeter 之 压力测试
- Apache JMeter--压力测试工具
- 压力测试工具 Apache JMeter
- 分布式测试之jmeter
- Jmeter之分布式测试
- 多台VPS进行Jmeter分布式压力测试
- jmeter 使用分布式压力测试配置
- linux使用JMETER进行分布式压力测试
- jmeter远程分布式压力测试配置
- 如何利用Jmeter做分布式压力测试?
- JMETER:linux进行分布式压力测试
- Apache JMeter【对软件做压力测试】
- apache-jmeter对网站压力测试
- Apache Jmeter压力测试神器-快速入门
- 使用 apache-jmeter 完成WEB压力测试
- 使用Apache Jmeter进行并发压力测试
- OPENCV与vs2015的配置
- Windows cmd命令大全
- 奇数排列算法,实现九宫格(转)
- 实验一:线性表实验-顺序表的实现
- 《快学scala》读书笔记--第一章
- Apache JMeter压力测试之分布式测试(多机联测)
- ES6 Promise实际项目用法 (避免回调地狱)
- SSH(第零步)——导包
- ubuntu服务器安装及网络配置
- [NLP]CS224n学习笔记一:NLP介绍
- emWin 2天速成实例教程015_二维码控件的使用示例
- Unity3D中的快捷键
- [读书笔记]js函数参数的按值传递
- 2.1Java面向对象思想