请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需要一步,快速开始

搜索
开启左侧

apacheab压力测试工具-批量压测脚本

狄加 2019-7-21 12:39:28 显示全部楼层 阅读模式

马上注册,分享更多源码,享用更多功能,让你轻松玩转云大陆。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
概述
ab(Apache benchmark)是一款常用的压力测试工具。简单易用,ab的命令行一次只能支持一次测试。假如想要批量执行不同的测试方式,并自动对指标进行分析,那么单靠手工一条一条命令运行ab是不可能的。下面详情下批量模式怎样实现。
一、脚本说明
该脚本支持ab大多常用参数,假如你需要更多参数,可以通过修改本脚本,加入你想要的就可。
该脚本支持:
1)、批量测试。注意,并不是简单的批量测试,你可以定测测试轮数,间隔时间。 2)、阶梯并发增长定制测试,如并发从100到1000,每轮测5次等。 3)、支持ab的post file模式,你只需在参数-P | --postfile中带上你的数据文件就可。 4)、压测完指标分析显示,本shell可以将ab中常用的指示即时分析出来。
VpdpigjKjMp1P1MM.jpg

二、脚本内容

#!/bin/bash echo echo '| 本脚本工具基于ab(Apache benchmark),请先安装好ab, awk |' echo '| 注意: |' echo '| shell默认最大客户端数为1024 |' echo '| 如超出此限制,请执行以下命令: |' echo '| ulimit -n 655350 |' echo function usage { echo ' 命令格式:' echo ' ab-test-tools.sh' echo ' -N|--count 总请求数,缺省 : 5w' echo ' -C|--clients 并发数, 缺省 : 100' echo ' -R|--rounds 测试次数, 缺省 : 10 次' echo ' -S|-sleeptime 间隔时间, 缺省 : 10 秒' echo ' -I|--min 最小并发数,缺省: 0' echo ' -X|--max 最大并发数,缺省: 0' echo ' -J|--step 次递增并发数' echo ' -T|--runtime 总体运行时间,设置此项时最大请求数为5w' echo ' -P|--postfile post数据文件路径' echo ' -U|--url 演示网站' echo '' echo ' 测试输出结果*.out文件' exit; } # 定义默认参数量 # 总请求数 count=50000 # 并发数 clients=100O # 测试轮数 rounds=10 # 间隔时间 sleeptime=10 # 最小并发数 min=0 # 最大数发数 max=0 # 并发递增数 step=0 # 演示网站 url='' # 测试限制时间 runtime=0 # 传输数据 postfile='' ARGS=`getopt -a -o N:C:R:S:I:X:J:U:T:P:h -l count:,client:,round:,sleeptime:,min:,max:,step:,runtime:,postfile:,help -- "$@"` [ $? -ne 0 ] && usage eval set -- "${ARGS}" while true do case "$1" in -N|--count) count="$2" shift ;; -C|--client) clients="$2" shift ;; -R|--round) rounds="$2" shift ;; -S|--sleeptime) sleeptime="$2" shift ;; -I|--min) min="$2" shift ;; -X|--max) max="$2" shift ;; -J|--step) step="$2" shift ;; -U|--url) url="$2" shift ;; -T|--runtime) runtime="$2" shift ;; -P|--postfile) postfile="$2" shift ;; -h|--help) usage ;; --) shift break ;; esac shift done # 参数检查 if [ x$url = x ] then echo '请输入测试url,非文件/以为结束' exit fi flag=0 if [ $min != 0 -a $max != 0 ] then if [ $max -le $min ] then echo '最大并发数不能小于最小并发数' exit fi if [ $step -le 0 ] then echo '并发递增步长不能
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

  • 0 关注
  • 0 粉丝
  • 2 帖子
广告招商