Apache JMeter是一个纯Java开发的用于负载测试或者性能测试的开源软件。这篇文章通过具体的测试示例来介绍一下如何使用JMeter搭建分布式测试环境,并结合一个具体的示例来展示以下在JMeter分布式环境中执行压力测试的方法。
环境准备
关于Apache JMeter的概要介绍与安装的方法,可参看如下内容:
- https://liumiaocn.blog.csdn.net/article/details/101264380
分布式测试
和其他主从式设计一样,二者各司其职,如下图所示,Master节点负责控制与转发, Slave节点负责执行。
环境设定
- 主机环境
liumiaocn:apache-jmeter-5.1.1 liumiao$ uname -a
Darwin liumiaocn 18.0.0 Darwin Kernel Version 18.0.0: Wed Aug 22 20:13:40 PDT 2018; root:xnu-4903.201.2~1/RELEASE_X86_64 x86_64
liumiaocn:apache-jmeter-5.1.1 liumiao$
注:由于是Java的应用,主机的环境理论上来说不会造成影响。
- 分布式测试环境
本文使用一个Master节点,3个Slave节点形成的1主三从的分布式测试环境,为了简单演示使用的是同一台机器,具体构成如下所示
类型 | IP | 端口 | 说明 |
---|---|---|---|
Master节点 | 192.168.31.242 | - | 用于控制的Master节点 |
Slave节点-1 | 192.168.31.242 | 31099 | 用于进行压测的Slave节点1 |
Slave节点-2 | 192.168.31.242 | 31020 | 用于进行压测的Slave节点2 |
Slave节点-3 | 192.168.31.242 | 31021 | 用于进行压测的Slave节点3 |
Slave节点设定与启动
在JMeter的bin目录下,有名为jmeter-server(linux或unix下的执行脚本)和名为jmeter-server.bat(windows下的执行脚本),直接使用此文件即可,但是实际上在目前的这个版本中,这个脚本仍然非常之简单,是调用jmeter脚本更为直接和灵活,以jmeter-server为例进行说明:
liumiaocn:bin root# tail -n1 jmeter-server
${DIRNAME}/jmeter ${RMI_HOST_DEF} -Dserver_port=${SERVER_PORT:-1099} -s -j jmeter-server.log "$@"
liu