性能测试是软件测试中很重要的工程工程,有时候我们需要测试的一项内容便是web页面响应时间,httping就是这样一种专门用来测试web页面响应时间的开源软件。
在FreeBSD下安装
#cd /usr/ports/net/httping
#make install clean
#rehash
用法如下
#httping -h
httping: option requires an argument -- h
HTTPing v1.2.6, (C) 2003-2008 folkert@vanheusden.com
SSL support included
-g url url (e.g. -g http://localhost/)
-h hostname hostname (e.g. localhost)
-p portnr portnumber (e.g. 80)
-x host:port hostname+portnumber of proxyserver
-c count how many times to connect
-i interval delay between each connect
-t timeout timeout (default: 30s)
-s show statuscodes
-S split time in connect-time and processing time
-G do a GET request instead of HEAD (read the
contents of the page as well)
-b show transfer speed in KB/s (use with -G)
-B like -b but use compression if available
-L x limit the amount of data transferred (for -b)
to 'x' (in bytes)
-X show the number of KB transferred (for -b)
-l connect using SSL
-z show fingerprint (SSL)
-f flood connect (no delays)
-a audible ping
-m give machine parseable output (see
also -o and -e)
-o rc,rc,... what http results codes indicate 'ok'
coma seperated WITHOUT spaces inbetween
default is 200, use with -e
-e str string to display when http result code
doesn't match
-I str use 'str' for the UserAgent header
-R str use 'str' for the Referer header
-r resolve hostname only once (usefull when
pinging roundrobin DNS: also takes the first
DNS lookup out of the loop so that the first
measurement is also correct)
-n warn,crit Nagios-mode: return 1 when avg. response time
>= warn, 2 if >= crit, otherwhise return 0
-N x Nagios mode 2: return 0 when all fine, 'x'
when anything failes
-y ip[:port] bind to ip-address (and thus interface) [/port]
-q quiet, only returncode
-V show the version
每一个选项都有注释 比较好懂
下面就用他来测试本地到sina的页面响应时间吧
由于网络延时 堵塞等原因 可能出现不稳定的结果
测试10次取平均值
#httping -c10 -g http://www.sina.com.cn
PING www.sina.com.cn:80 (http://www.sina.com.cn):
connected to www.sina.com.cn:80, seq=0 time=8.76 ms
connected to www.sina.com.cn:80, seq=1 time=4.81 ms
connected to www.sina.com.cn:80, seq=2 time=5005.72 ms
connected to www.sina.com.cn:80, seq=3 time=6204.22 ms
connected to www.sina.com.cn:80, seq=4 time=5.45 ms
connected to www.sina.com.cn:80, seq=5 time=5.63 ms
connected to www.sina.com.cn:80, seq=6 time=7.44 ms
connected to www.sina.com.cn:80, seq=7 time=5006.06 ms
connected to www.sina.com.cn:80, seq=8 time=5.16 ms
connected to www.sina.com.cn:80, seq=9 time=5.01 ms
--- http://www.sina.com.cn ping statistics ---
10 connects, 10 ok, 0.00% failed
round-trip min/avg/max = 4.8/1625.8/6204.2 ms
平均值为1625.8ms,也就是1.63s
如果是测试本网段的某个主机,则测试结果就比较可以信任了
#httping -c10 -g http://www.linuxidc.com
PING www.linuxidc.com:80 (http://www.linuxidc.com):
connected to www.linuxidc.com:80, seq=0 time=17.11 ms
connected to www.linuxidc.com:80, seq=1 time=23.52 ms
connected to www.linuxidc.com:80, seq=2 time=18.72 ms
connected to www.linuxidc.com:80, seq=3 time=19.37 ms
connected to www.linuxidc.com:80, seq=4 time=107.02 ms
connected to www.linuxidc.com:80, seq=5 time=19.70 ms
connected to www.linuxidc.com:80, seq=6 time=31.35 ms
connected to www.linuxidc.com:80, seq=7 time=21.85 ms
connected to www.linuxidc.com:80, seq=8 time=19.67 ms
connected to www.linuxidc.com:80, seq=9 time=19.52 ms
--- http://www.linuxidc.com ping statistics ---
10 connects, 10 ok, 0.00% failed
round-trip min/avg/max = 17.1/29.8/107.0 ms
测试结果出来了
最小web页面响应时间:17.1 ms
平均web页面响应时间:29.8 ms
最大web页面响应时间:107.0 ms
一般来说 对我们有意义的数据是是平均值
可以用shell直接取到这个值得
#httping -c5 -g http://www.linuxidc.com | tail -n1 | awk '{print $4}' | cut -d/ -f2
还可以配合shell和rrdtool可以画出一张完美的web响应时间图来,还不错,^_^^_^
httping 的详细介绍:请点这里
httping 的下载地址:请点这里