1 分析文档
2 测试文件
执行脚本即可得到你希望的结果
#!/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/
执行脚本即可得到你希望的结果