(转)测试网页响应时间的shell脚本[需要curl支持]
用法及返回结果如下:
lvyaozu@lvyaozu-desktop:~/shell$./requesturl.sh-n20http://www.baidu.com
Requesturl:http://www.baidu.com
Requestnumber:20
RequestFailed:0
——AverageValue——
time_connect:0.1614
time_total:0.1693
time_namelookup:0.0088
————————-
请求参数:
-n 指定发送多少次请求,默认为10返回结果为 curl -w 选项返回值,以下摘自curl官方文档:
http://curl.haxx.se/docs/manpage.html
time_connect The time, in seconds, it took from the start until the TCP connect to the remote host (or proxy) was completed.
time_totalThetotaltime,inseconds,thatthefulloperationlasted.Thetimewillbedisplayedwithmillisecondresolution.
time_namelookup The time, in seconds, it took from the start until the name resolving was completed.#!/bin/bash #requesturl.sh usage=" Usage: $0 [options...] <url>\n Options:\n -h This help text\n -n <num> The numbers to request\n " if [ $# -lt 1 ] then echo -e $usage exit 1 fi num=10 while getopts "n:h" arg do case $arg in n) num=$OPTARG if [ $num -lt 1 ] then num=1 fi ;; h) echo -e $usage exit 1 ;; ?) echo "Unknow argument" exit 1 ;; esac done url=$(eval echo "\$$#") if [ "http://" != ${url:0:7} ] then echo "The url need to add the http:// prefix" exit 1 fi echo "Request url: "$url echo "Request number: "$num i=1 while [ $i -le $num ] do c=`curl -o /dev/null -s -w \ "http_code:%{http_code} time_namelookup:%{time_namelookup} \ time_connect:%{time_connect} time_total:%{time_total}" $url` s=$s$c"\n" i=$[$i+1] done #echo -e $s echo -e $s | \ awk '{OFS="\n"}{if($1) for(i=1;i<=NF;i++)print $i}' | \ awk -F: -v num=$num -v failnum=0 \ '{if($1 != "http_code")result[$1]+=$2;if($1=="http_code" && $2 != 200)failnum++} \ END{print "Request Failed: " failnum "\n------Average Value------"; \ for(i in result) {print i ": " result[i]/num;} \ print "-------------------------"}'
相关推荐
83911535 2020-11-13
曾是土木人 2020-10-31
yegen00 2020-10-21
soralaro 2020-10-11
katanaFlower 2020-09-18
wytzsjzly 2020-08-17
88407710 2020-08-17
ChinaJoeEE 2020-08-16
CyborgLin 2020-08-15
Blueberry 2020-08-15
PinkBean 2020-08-11
katanaFlower 2020-08-03
hunningtu 2020-07-30
阿债的方寸天地 2020-06-28
pingyan 2020-06-25
wytzsjzly 2020-06-25
阳光岛主 2020-06-25
阿债的方寸天地 2020-06-16