栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Jmeter分布式压测-windows(master控制机)&多个linux(slaves负载机)&监测服务器资源(cpu、内存等)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Jmeter分布式压测-windows(master控制机)&多个linux(slaves负载机)&监测服务器资源(cpu、内存等)

为什么进行jmeter分布式压测?

一、干货解释原因:
**原因一:**一台压力机的 Jmeter 默认最大支持 1000 左右的并发用户数(线程数),再大的话,容易造成卡顿、无响应等情况,这是受限于 Jmeter 其本身的机制和硬件配置(内存、CPU等)
**原因二:**由于 Jmeter 是 Java 应用,对 CPU 和内存的消耗较大,在需要模拟大量并发用户数时,单机很容易出现 JAVA 内存溢出的错误,导致测试脚本本身就有瓶颈

二、什么叫分布式压测:
普通压测:单台机可以对目标机器产生的压力比较小,受限因素包括CPU,网络,IO等
分布式压测:利用多台机器向目标机器产生压力,模拟几万用户并发访问

三、环境搭建:
前提条件:强烈建议windows(master控制机)与多个linux(slaves负载机)的jmeter、jdk版本保持一致
JMeter下载地址:http://jmeter.apache.org/download_jmeter.cgi

windows安装:
1、windows(master控制机)安装jmeter与jdk,比较简单自行安装,配置好环境变量即可

linux安装:
温馨提示:多个linux(slaves负载机)的安装路径保持一致,安装方法均一致,JDK版本与windows一致,自行安装
1、上传并解压

tar -xvzf apache-jmeter-5.1.1.tgz


2、配置环境变量

vi /etc/profile
export PATH=$PATH:/root/test/apache-jmeter-5.1.1/bin


3、配置生效环境变量

source /etc/profile

4、配置Agent

vi jmeter.properties

server_port=1099
server.rmi.localport=1099
server.rmi.ssl.disable=true
server_port和server.rmi.localport设置成相同的端口号,controller操纵agent时需要使用此端口



5、运行agent
所在的bin目录下执行:

jmeter-server

(如果报: Server failed to start: java.rmi.RemoteException: Cannot start. localhost.localdomain is a loopback address.
An error occurred: Cannot start. localhost.localdomain is a loopback address.
那么就指定当前linux机器的ip 执行
./jmeter-server -Djava.rmi.server.hostname=XXX.168.0.XXX)

windows上配置Controller

/apache-jmeter-5.1.1/bin/jmeter.properties
remote_hosts=192.100.8.128:1099,192.100.8.129:1099
remote_host指定agent服务的地址,多个地址使用逗号(,)分隔。

server.rmi.ssl.disable=true

去掉mmode=StrippedBatch(StrippedBatch:在响应数据中删除成功采样后,使用Batch模式)

resultcollector.action_if_file_exists=DELETE


四、测试验证:
1、已经显示出来了slaves的地址,可以进行单独运行,也可以远程启动所有

2、远程启动所有

五、监测服务器资源(CPU、内存等):
首先确保防火墙状态是关闭

systemctl status firewalld

1.插件准备
1)、下载安装包
JMeterPlugins-Extras.jar:https://jmeter-plugins.org/install/Install/
JMeterPlugins-Standard.jar:https://jmeter-plugins.org/install/Install/
ServerAgent-2.2.1:https://github.com/undera/perfmon-agent

2)、下载后分别解压
将JMeterPlugins-Extras.jar 和 JMeterPlugins-Standard.jar 放到jmeter安装路径 apache-jmeter-5.1.1libext目录下
将ServerAgent-2.2.1解压包放到要被监测的服务器上(linux服务器可以放在opt目录下,windows任意目录下)

2.环境准备:
1)Linux服务器启动监控服务
运行命令./startAgent.sh 或 sh startAgent.sh 即可启动ServerAgent服务

注:ServerAgent服务端口号默认为4444,如若遇到端口被占用,则需关闭占用该端口的进程,或者改变ServerAgent服务的默认端口:

A:关闭占用4444端口的进程

关闭占用4444端口的8260进程后,再次启动ServerAgent服务,成功。

B:使用命令改变ServerAgent服务的默认端口

java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 7777 --tcp-port 7777

同样的,7777端口也要设置防火墙规则以及使用telnet本地测试下是否可以访问

3.资源监听
1)、选择监听器:

2)可以正常监测:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/878481.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号