#!/bin/bash
# 配置文件路径
CONFIG_FILE="locust_cases.txt"
# 通用参数
RUN_TIME=100 # 20分钟,这个配置在main.py里面修改时间, 以no-web模式执行
STOP_TIMEOUT=10s # 停止超时
WAIT_TIME=10 # 5分钟
# 计数器
total_tasks=$(wc -l < "$CONFIG_FILE")
current_task=0
# 读取配置文件并执行
while IFS=, read -r script users spawn_rate; do
# 移除可能的空格
script=$(echo "$script" | xargs)
users=$(echo "$users" | xargs)
spawn_rate=$(echo "$spawn_rate" | xargs)
# 如果spawn_rate为空,使用默认值
if [ -z "$spawn_rate" ]; then
spawn_rate=1
fi
current_task=$((current_task + 1))
echo "=========================================="
echo "任务 $current_task/$total_tasks"
echo "开始执行脚本: $script"
echo "并发用户数: $users"
echo "用户生成速率: $spawn_rate/秒"
echo "运行时间: $(($RUN_TIME/60))分钟"
echo "=========================================="
# 执行Locust测试
python3 main.py -w 4 -u "$users" -cof ./config/90551.config.yml -case "$script"
# 检查执行结果
if [ $? -eq 0 ]; then
echo "脚本 $script 执行完成"
else
echo "警告:脚本 $script 执行过程中可能出现问题"
fi
# 如果不是最后一个任务,等待5分钟
if [ $current_task -lt $total_tasks ]; then
echo "等待5分钟..."
sleep $WAIT_TIME
fi
done < "$CONFIG_FILE"
echo "所有任务执行完毕。"
shell 批量执行locust 脚本压测
ryan007liu2026-03-15 18:37
相关推荐
AlfredZhao2 小时前
生产环境里,为什么不建议把普通端口直接暴露到公网?戴为沐1 天前
Linux内存扩容指南zylyehuo2 天前
Linux 彻底且安全地删除文件用户805533698032 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约用户034095297912 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点Web3探索者4 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?zylyehuo4 天前
Linux系统中网线与USB网络共享冲突Sokach10155 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结AlfredZhao6 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?zzzzzz3107 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟