linux shell 分析 ab 测压命令

1 分析文档

#!/bin/bash
line_num=3
count_num=0
Concurrencyl=0
Timetakenl=0
Completerequestsl=0
Failedrequestsl=0
Requestspersecondl=0
Timeperrequestl=0
Timeperrequestacrossl=0
Transferratel=0
file_name="value.tmp"
result_file="result.csv"

if [ -f $file_name ]; then
rm $file_name
fi

if [ -f $result_file ]; then
rm $result_file
fi
echo "test project","testurl","Concurrent","time token","Completerequests","failed","per time(ms)","thread last time per time(ms)","Concurrent request last time(ms)","network (KB)">> $result_file

while read line
do
if [ -z "$line" ] ; then
echo $Timetakenl
echo $Completerequestsl

echo "一轮已经测试完毕"
echo Average,,,$(echo "$Timetakenl / $line_num" |bc -l),$(echo "$Completerequestsl / $line_num" |bc -l),$(echo "$Failedrequestsl / $line_num" |bc -l),$(echo "$Requestspersecondl / $line_num" |bc -l),$(echo "$Timeperrequestl / $line_num" |bc -l),$(echo "$Timeperrequestacrossl / $line_num" |bc -l),$(echo "$Transferratel / $line_num" |bc -l)>> $result_file
echo "">> $result_file
let Concurrencyl=0
let Timetakenl=0
let Completerequestsl=0
let Failedrequestsl=0
let Requestspersecondl=0
let Timeperrequestl=0
let Timeperrequestacrossl=0
let Transferratel=0
else
echo $line
#s=$line | cut -d ":" -f2
#s=$line
OLD_IFS="$IFS"
IFS="*"
arr=($line)
IFS="$OLD_IFS"
s=${arr[1]}
test_project=${arr[0]}
#echo $s
#echo $test_project
if [ -f $file_name ];then
eval '$s'>$file_name
else
touch $file_name
eval '$s'>$file_name
fi

Concurrency=$(grep "Concurrency Level" $file_name | awk '{print$3}')
Timetaken=$(grep "Time taken for tests" $file_name | awk '{print$5}')
Completerequests=$(grep "Complete requests" $file_name | awk '{print$3}')
Failedrequests=$(grep "Failed requests" $file_name | awk '{print$3}')
Requestspersecond=$(grep "Requests per second" $file_name | awk '{print$4}')
Timeperrequest=$(grep "Time per request:" $file_name| sed 1q | awk '{print$4}')
Timeperrequestacross=$(grep "mean, across all concurrent requests" $file_name | awk '{print$4}')
Transferrate=$(grep "Transfer rate" $file_name | awk '{print$3}')

echo $test_project,$s,$Concurrency,$Timetaken,$Completerequests,$Failedrequests,$Requestspersecond,$Timeperrequest,$Timeperrequestacross,$Transferrate >> $result_file

Timetakenl=$(echo "$Timetakenl + $Timetaken" |bc -l)
Completerequestsl=$(echo "$Completerequestsl + $Completerequests" |bc -l)
Failedrequestsl=$(echo "$Failedrequestsl + $Failedrequests" |bc -l)
Requestspersecondl=$(echo "$Requestspersecondl + $Requestspersecond" |bc -l)
Timeperrequestl=$(echo "$Timeperrequestl + $Timeperrequest" |bc -l)
Timeperrequestacrossl=$(echo "$Timeperrequestacrossl + $Timeperrequestacross" |bc -l)
Transferratel=$(echo "$Transferratel + $Transferrate" |bc -l)
fi
done <key.txt
echo "操作完毕"




2 测试文件

firstpage*ab -c 100 -n 1000 http://192.168.0.219/
firstpage*ab -c 100 -n 1001 http://192.168.0.219/
firstpage*ab -c 100 -n 1002 http://192.168.0.219/

firstpage*ab -c 100 -n 1003 http://192.168.0.219/
firstpage*ab -c 100 -n 1004 http://192.168.0.219/
firstpage*ab -c 100 -n 1005 http://192.168.0.219/


执行脚本即可得到你希望的结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

annan211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值