jmeter -- 分布式压测环境准备

Java环境变量配置

#! /bin/bash

JAVA_HOME='/usr/java/jdk1.8.0_60'

# /etc/profile
# ~/.bash_profile

echo "" >> /etc/profile
echo "export JAVA_HOME=$JAVA_HOME" >> /etc/profile
echo "export PATH=\$PATH:\$JAVA_HOME/bin" >>  /etc/profile
echo "export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar" >>  /etc/profile

source  /etc/profile

echo `java -version`

Jmeter环境变量配置

#! /bin/bash

echo "" >> /etc/profile

JMETER_HOME='/root/lt/apache-jmeter-5.4.3'

echo "export JMETER_HOME=$JMETER_HOME" >> /etc/profile
echo "export PATH=\$PATH:\$JMETER_HOME/bin" >> /etc/profile

source  /etc/profile

echo `jmeter -v`

slave节点jmeter工具和脚本准备

#! /bin/bash    

export jm_zip="apache-jmeter-5.4.3.zip"                                                                                                                                                                                                                                        
export jm_pkg="apache-jmeter-5.4.3"  
                                                                                                                                                                                                                                                                               
echo '1. 判断~/lt目录是否存在 ,并进入 '                                                                                                                                                                                                                                           
if [ -d "~/lt/" ];then 
    cd ~/lt/                                                                                                                                                                                                                                                                   
else
    mkdir -p ~/lt && cd ~/lt                                                                                                                                                                                                                                                   
fi                                                                                                                                                                                                                                                                             
echo '==============================================='                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                               
echo '2. 将 jmeter工具和参数化数据放到~/lt目录下 '                                                                                                                                                                                                                                
if [ -f "/tmp/${jm_zip}" ];then                                                                                                                                                                                                                                                  
    mv /tmp/${jm_zip}  ./${jm_zip} 
    echo "将jmeter压缩包移动到~/lt目录下"  
else
    echo "/tmp/${jm_zip}文件不存在" 
fi

if [ -f /tmp/test*.txt ];then                                                                                                                                                                                                                                                
    mv /tmp/test*.txt  ./test1.txt
    echo "将参数化数据移动到~/lt目录下"
else
    echo "/tmp/test*.txt文件不存在"                                                                                                                                                                                                                                  
fi                                                                                                                                                                                                                                                                             
echo '==============================================='                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                                               
echo '3. 安 装 upzip解 压 工 具 '  
if ! [ -x "$(command -v unzip)" ]; then                                                                                                                                                                                                                                                     
    echo 'password' |  sudo -S yum install -y unzip 
else
    echo '已安装'
fi                                                                                                                                                                                                                                
echo '==============================================='                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                               
echo '4. 解 压 jmeter zip文 件 '                                                                                                                                                                                                                                                    
if [ ! -d "~/lt/${jm_pkg}" ];then                                                                                                                                                                                                                                            
    echo '开始解压 '                                                                                                                                                                                                                                          
    unzip ~/lt/${jm_zip}                                                                                                                                                                                                                                                           
else                                                                                                                                                                                                                                                                         
    echo '文件已解压 ' 
fi                                                                                                                                                                                                                                                      
echo '==============================================='                                                                                                                                                                                                                       
                                                                                                                                                                                                                                                                               
echo '5. 修 改 jmeter.properties配 置 '                                                                                                                                                                                                                                               
sed -i '/#server.rmi.ssl.disable=false/a\server.rmi.ssl.disable=true' ~/lt/${jm_pkg}/bin/jmeter.properties                                                                                                                                                                      
echo '==============================================='                                                                                                                                                                                                                         

echo '6. 将压测数据移动到bin目录下 '                                                                                                                                                                                                                                                                                
if [ -f test1.txt ];then                                                                                                                                                                                                                                                       
    mv test1.txt  ~/lt/${jm_pkg}/bin/test1.txt                                                                                                                                                                                                                                      
else
    echo ""                                                                                                                                                                                                                                                                     
fi                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
echo '==============================================='   
                                                                                                                                                                                                                      
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
echo '7. 请使用命令启动服务'
echo '==============================================='   
echo `sh ~/lt/apache-jmeter-5.4.3/bin/jmeter-server`
echo '==============================================='   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JMeter是一个开源的压力测试工具,可以用于Web应用、SOA服务以及其他HTTP协议的应用程序的性能测试。当需要对系统进行大规模并发压力测试时,我们通常会考虑构建分布式JMeter环境。 ### JMeter分布式压测环境搭建步骤: #### 第一步:准备环境 1. **服务器配置**:首先,你需要一组服务器,每台服务器都需要安装Apache JMeter,并且它们之间应该有稳定的网络连接。 2. **JMeter版本一致性**:确保所有JMeter版本一致,避免因版本差异导致的兼容性问题。 #### 第二步:部署JMeter 1. **服务器上安装JMeter**:通过SSH或其他远程访问工具将JMeter安装包上传到服务器上,然后解压并配置JMeter环境变量。可以参考官方文档或教程进行详细操作。 2. **配置JMeter**:在每个JMeter实例中配置监听地址和端口。例如,在命令行中运行 `jmeter -n -t test计划.jmx -l results.jtl` 来启动测试,这里 `-n` 指示无GUI模式运行,`-t` 表示测试脚本的位置,`-l` 表示结果保存文件位置。 #### 第三步:创建并分发测试计划 1. **设计测试计划**:使用JMeter的图形界面或脚本语言编写测试计划,包括URL、请求头、参数、断言等。确保测试计划能覆盖所需的所有功能和场景。 2. **导出测试计划**:将测试计划导出为.jmx格式文件,以便于跨节点执行。 3. **分发测试计划**:将测试计划文件复制到所有参与测试的服务器上。 #### 第四步:协调与控制 1. **负载均衡**:根据实际需求分配任务给各个服务器,可能需要使用额外的工具如LoadRunner或Zabbix等来监控和控制流量分配。 2. **日志分析**:为了更好地理解系统响应以及发现潜在瓶颈,设置详细的日志记录,并定期查看日志信息。 #### 第五步:执行分布式测试 1. **同步执行**:通过脚本或者其他自动化手段触发所有服务器同时开始执行测试计划。 2. **监视与调整**:使用JMeter自带的日志功能或外部监控工具监视测试过程,必要时调整服务器资源分配或测试策略。 #### 第六步:分析结果 1. **聚合报告**:通过JMeter的聚合报告功能合并各服务器的测试结果,生成全面的性能测试报告。 2. **优化调整**:基于测试结果分析系统性能瓶颈,针对性地优化代码或架构设计。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值