#!/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/
执行脚本即可得到你希望的结果