docker+jmeter实现简单的分布式压力测试

本文介绍了如何在Java环境中使用JMeter进行阶梯压力测试,包括配置JMeter、安装插件、设置线程组(StepingThreadGroup和ConcurrencyThreadGroup的区别),以及通过Docker构建镜像实现分布式压力测试,涉及Linux下内存扩展和dockerrun命令的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


阶梯压力测试的场景是为了验证在系统运行期间,用户不断的登录系统并使用一段时间,通过阶梯的场景,模拟实际应用期间系统的稳定性、承载性。

二、常用的阶梯压力测试线程组
stepping Thread Group 步长插件
Concurrency Thread Group 步长并发插件

两者区别 stg不提供设置启动延迟时间,阶梯增压过渡时间、阶梯释放过渡时间,但是ctg提供,ctg可以瞬间释放stg只能阶梯释放线程
通俗的来说,stg是手动的场景,测试的过程需要按照设定好的步骤去执行,
ctg是目标场景,也可以说是自动场景,只需要设置目标,程序会自动执行到目标的运行场景,但是测试过程是不可控制的
在这里插入图片描述

字段详解:
1、This group will start 线程的最大数量
2、First wait for 开始启动的等待时间
3、Then start 启动时的线程数
4、Next add 每次增加的线程组数
5、threads every 每次增加线程组后的持续运行时间
6、using ramp-up 每次线程组增加需要的时间
7、The hold load for 达到最大线程组后的持续运行时间
8、Finally stop 每次减少的线程组数
9、threads every 每次减少线程组后的持续运行时间

实例:在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/ba5343f21fef49fc8d3208ac618de124.png

字段详解
1、Target Concurrency 目标并发线程数
2、Ramp up Time 在多长时间内加载完线程数
3、Ramp up StepsCount 分多少次加载完线程
4、Hold Target Rate Time 达到目标值后持续运行多长时间
5、Time Unit 时间单位
6、Thread Iterations Limit 循环次数
7、Log Threads Status into File记录日志文件
实例:

测试方式1【linux安装jmeter执行】:
分布式压测时,linux有时会提示内存不够,当服务器内存不够时,可以创建一个临时的内存交换空间

创建一个 1GB 的交换文件
sudo fallocate -l 1G /swapfile
设置正确的权限
sudo chmod 600 /swapfile
把这个文件设置为交换空间
sudo mkswap /swapfile
启用交换空间
sudo swapon /swapfile

jmeter运行命令
./jmeter -n -t /yourjmxpath -l /yourjtlpath -e -o /yourreportpath

测试方式2、通过docker构建jmeter容器,实现docker运行jmeter脚本:
使用官方的 Java 运行时作为父镜像
FROM openjdk:8-jre-slim
设置 JMeter 版本
ARG JMETER_VERSION=“5.4.1”
下载并安装 JMeter
RUN apt-get clean &&
apt-get update &&
apt-get -qy install
wget
unzip &&
wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-KaTeX parse error: Expected 'EOF', got '&' at position 22: …R_VERSION}.tgz &̲& tar -xzf apa…{JMETER_VERSION}.tgz &&
rm apache-jmeter-KaTeX parse error: Expected 'EOF', got '#' at position 43: …JMeter-Plugins #̲RUN wget https:…{JMETER_VERSION}/lib/ext &&
rm jpgc-casutg-2.10.zip
设置 JMeter home
ENV JMETER_HOME /apache-jmeter-${JMETER_VERSION}
添加 JMeter 到 PATH
ENV PATH J M E T E R H O M E / b i n : JMETER_HOME/bin: JMETERHOME/bin:PATH
COPY ./jmeter-plugins-manager-1.10.jar /apache-jmeter-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值