首页 > 其他分享 >liunx环境下部署分布式压测集群

liunx环境下部署分布式压测集群

时间:2024-03-22 16:56:03浏览次数:33  
标签:bin 执行 压测 1099 server liunx 172.16 jmeter 分布式

一、java环境安装与配置

  • 官网下载jdk-15.0.1_linux-x64_bin.tar.gz,上传到liunx服务器(官网跳转

image.png

  • 解压文件:tar -xzf jdk-15.0.1_linux-x64_bin.tar.gz,生成文件夹jdk-15.0.1

image.png

  • 在/usr/目录下创建java文件夹,将jdk-15.0.1移动到java文件夹下

注意:移动文件夹需要处于文件存在位置执行命令
image.png

  • 配置环境变量,vi /etc/profile,输入a或i进入编辑模式,在最后加上几行,输入完成后esc退出编辑模式。最后输入:wq保存配置
JAVA_HOME=/usr/java/jdk-15.0.1

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar

export JAVA_HOME CLASSPATH PATH
  • 执行命令:source /etc/profile,无需重启,配置的环境变量立马生效
  • 检查是否配置成功,输入java -version

image.png

二、安装jmeter并配置环境变量

  • 官网下载apache-jmeter-5.4.1.tgz,上传到liunx服务器(官网跳转

附件:apache-jmeter-5.4.1.zip
image.png

  • 解压文件:tar -xzf apache-jmeter-5.4.1.tgz,生成文件夹apache-jmeter-5.4.1

image.png

  • 将jdk-15.0.1移动到/usr文件夹下

image.png

  • 配置环境变量,vi /etc/profile,输入a或i进入编辑模式,在最后加上几行,输入完成后esc退出编辑模式。最后输入:wq保存配置
JMETER_HOME=/usr/apache-jmeter-5.4.1

CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH

PATH=$PATH:$JMETER_HOME/bin:$PATH

export JMETER_HOME
  • 执行命令:source /etc/profile,无需重启,配置的环境变量立马生效
  • 检查是否配置成功,输入jmeter -v

image.png
报错解决:
问题:运行时提示:/usr/apache-jmeter-5.4.1/bin/jmeter: Permission denied
解决:进入jmeter安装bin,执行ll查看文件权限,展示-rw-r-r--表示无可执行权限。执行以下命令即可

chmod +x jmeter  //赋予jmeter权限
chmod +x jmeter-server  //赋予jmeter分布式执行权限

r:读取权限,表示可以读取文件的内容。
w:写入权限,表示可以编辑和修改文件的内容。
x:执行权限,表示可以执行文件作为程序运行。

image.png

三、单机执行压测

  • 将jmx文件传输到Linux服务器。cd到文件目录下执行jmeter -e -o jmx文件名 -l 执行文件

示例:jmeter -n -o sdk_cz.jmx -l result.jtl
image.png

  • 查看执行结果:tail result.jtl

image.png

  • 将result.jtl导出到Windows查看,jmeter添加聚合报告,直接打开jtl文件即可

image.png

四、分布式部署压测

  • 控制机和执行机都要安装相同版本Jmeter,尽量保证安装路径一致

例:以172.16.124.173,172.16.124.174作为压测服务器
控制机:172.16.124.173
执行机:172.16.124.173,172.16.124.174

控制机配置

  • 修改控制机jmeter配置jmeter.properties
cd /usr/apache-jmeter-5.4.1/bin

vim jmeter.properties

image.png

  • 输入a或i进入编辑模式,修改配置后保存退出(添加需要关联的集群执行机ip和端口)

修改:remote_hosts=127.16.124.173:1099,127.16.124.174:1099
image.png
修改:server.rmi.ssl.disable=true(禁用ssl验证)
image.png

  • 修改控制机jmeter-server

修改server.rmi.localport=172.16.124.173
image.png

执行机配置

  • 修改执行机jmeter配置jmeter.properties
    修改:server.rmi.ssl.disable=true

image.png

  • 修改执行机jmeter-server

修改server.rmi.localport=172.16.124.174
image.png

执行分布式压测脚本

  • 将调试好的压测脚本上传到控制机,注意只需要上传到控制机,执行时会自动分发给执行机,若有参数化数据,则需要将参数化文件上传到每个执行机上,并且保持绝对路径一致
  • 两台机器在/jmeter/bin目录下执行jmeter-server命令

image.png

  • 新开控制机窗口执行测试,命令如下
jmeter -n -t sdk_cz.jmx -l result.jtl -R 172.16.124.173:1099,172.16.124.174:1099 -e -o report

-n:以非 GUI 模式运行 JMeter。
-t sdk_cz.jmx:指定要运行的测试计划文件为 sdk_cz.jmx
-l result.jtl:将执行结果保存到 result.jtl 文件中,供后续生成测试报告使用。
-e:生成 HTML 格式的测试报告。
-o report:指定测试报告的输出目录为report。
-R 172.16.124.173:1099,172.16.124.174:1099:指定远程运行模式,并列出要执行测试的远程主机地址和端口号。

image.png
报错解决:
问题:执行压测脚本时报错“No reoute to host”,无法远程连接主机
image.png解决:检查防火墙是否关闭

iptables -L  //检查防火墙是否关闭,返回空列表即为关闭

//关闭防火墙命令
sudo systemctl stop firewalld
sudo systemctl disable firewalld

五、Windows+Liunx环境压测:(需要保持jmeter版本一致,可以实时看到执行数据)

  • 每台服务器执行jmeter-server命令,出现提示即标识远程服务启动完成
  • 修改jmeter/bin目录下jmeter.profile文件后保存

①remote_hosts=172.16.124.173:1099,172.16.124.176:1099,172.16.124.177:1099,172.16.124.178:1099,172.16.124.179:1099
②server_port=1099
③server.rmi.ssl.disable=true
image.png
image.png

  • 启动jmeter/bin目录下jmeter.bat文件,打开后选择远程启动即可

image.png

标签:bin,执行,压测,1099,server,liunx,172.16,jmeter,分布式
From: https://www.cnblogs.com/cai11/p/18089916

相关文章

  • SpringBoot实现单机锁和分布式锁
    1、使用Java的内置锁机制(单机锁)Java提供了synchronized关键字和java.util.concurrent.locks.Lock接口来实现锁。synchronized是Java语言内置的关键字,当它被用作修饰一个方法时,该方法在同一时间只能被一个线程访问。Lock接口提供了更灵活的锁机制,包括可重入锁、公平锁、非公......
  • 雪花算法生成分布式序列号
    packageio.binghe.seckill.infrastructure.utils.id;importjava.util.Date;publicclassSnowFlake{/***起始的时间戳:2023-04-1913:42:00,使用时此值不可修改*/privatefinalstaticlongSTART_STMP=1681882920782L;/***每一部分......
  • 分布式锁中的王者方案 - Redission
    文章目录5.1分布式锁-redission功能介绍5.2分布式锁-Redission快速入门5.3分布式锁-redission可重入锁原理5.4分布式锁-redission锁重试和WatchDog机制5.5分布式锁-redission锁的MutiLock原理5.1分布式锁-redission功能介绍基于setnx实现的分布式锁存在......
  • 集中式注册表(Centralized Registry)分布式注册表(Distributed Registry)
    集中式注册表(CentralizedRegistry)是指在计算机系统中,将多个应用程序或服务的配置信息、参数设置等数据集中存储在一个统一的注册表中的管理方式。在Windows操作系统中,注册表(Registry)就是一个典型的集中式注册表系统。作用:统一管理:集中式注册表可以让多个应用程序共享同一份......
  • 性能测试实战系列(15):准备压测脚本、数据
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/15475614.html脚本查询礼品 兑换礼品 查询订单 其它设置http请求默认值  响应断言 后端监听器 数据库存量数据礼品:10000,在05章节已经通过存储过程造存量数据库存:10000,在05章节已经通过......
  • 性能测试实战系列(18):压测执行 - 容量场景(含监控、分析、调优、回归)
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/15475614.html测试执行根据容量场景设计,非gui执行脚本。 结果12线程  监控(部分) 性能问题:锁使用不合理待更新... ......
  • 性能测试实战系列(19):压测执行 - 稳定性场景(含监控、分析、调优、回归)
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/15475614.html测试执行根据稳定性场景设计,非gui执行脚本。 结果说明:下图大概00:25后tps上升,是因为我把服务器上无关的服务停了 结论达到压测目标 ......
  • Snowflake 分布式id生成器--生成唯一ID
    在Snowflake算法中,通常包含以下几个部分来构造一个唯一的ID:时间戳(Timestamp):占据了64位ID中的高41位,用来表示生成ID的时间。通过时间戳的递增,保证了生成的ID是递增且唯一的。数据中心ID(DataCenterID):用于标识不同的数据中心,通常占据了5位。机器ID(Worker......
  • JMeter压测存储过程
    背景压测后端接口时性能表现不佳,而恰好这个接口是调用DB存储过程进行处理数据,可以分别对存储过程和后端接口进行压测,并对比性能数据,了解分析性能瓶颈。前置下载:mysql-connector-j-8.3.0.jar,放置到jmeter\lib\ext目录下注:测试不同的数据库下载不同的jar包引入jmeter配置执行......
  • liunx磁盘分区扩容实操
    一、现状,假设虚拟机其中有一个磁盘分区使用率已经达到96%,根据需求在不影响这个磁盘分区的资料进行扩容。1、查看磁盘sdb1起始柱面,sdb1分区Start开始___2048  end结束___10485759 记录好Start初始值fdisk-l2、先在虚拟机上扩容,从5G扩容到10G 3、在liunx卸载这个......