ab進行多個url壓力測試
阿新 • • 發佈:2019-01-01
1.安裝ab(linux需要root許可權)
在任意目錄下執行該命令:yum -y install httpd-tools
測試一下ab是否安裝成功:ab -V
2.ab併發壓測指令碼
#!/bin/bash
######################################################################
#
#實現ab多url併發的shell指令碼
#
# sh ab.sh 併發請求數(-c) 最大秒數(-t) 請求的次數(-n)
#
######################################################################
rm -rf ab.log #清空日誌
for i in $(cat url.txt)
do
if [ "$1" == "" ]
then
echo "併發請求數不能為空"
elif [[ "$2" == "" ]]
then
if [ "$3" == "" ]
then
echo "併發請求數 = $1,最大秒數未賦值,請求的次數未賦值"
ab -c $1 $i >> ab.log &
continue
else
echo "併發請求數 = $1,最大秒數未賦值,請求的次數 = $3 "
ab -t $2 -n $3 $i >> ab.log &
continue
fi
elif [[ "$3" == "" ]]
then
echo "併發請求數 = $1,最大秒數 = $2 ,請求的次數未賦值"
ab -c $1 -t $2 $i >> ab.log &
continue
else
echo "併發請求數 = $1,最大秒數 = $2 ,請求的次數 = $3 "
ab -c $1 -t $2 -n $3 $i >> ab.log &
continue
fi
done
#####################################################################
#
# for 迴圈讀取url檔案中的url內容,執行ab命令
#
# 接收的url是i變數(從URL中讀取的每行url值)
#
# 將結果寫入ab.log日誌中,& shell中是並行
#
# 1 是 sh ab.sh x xx xxx第一個x的值表示併發請求數
#
# 2 是 sh ab.sh x xx xxx第二個xx的值表示測試所進行的最大秒數
#
# 3 是 sh ab.sh x xx xxx第三個xxx的值表示每次ab請求的次數
#
####################################################################
3.待測試的url集合,存放url.txt檔案中
http://www.baidu.com/
http://www.hao123.com/
url檔案注意:url後面加上/ 然後換行