首页 > Linux性能优化测试 > 用httping测试web页面响应时间

用httping测试web页面响应时间

2016年11月10日

用httping测试web页面响应时间

http://www.linuxidc.com/Linux/2014-02/96165.htm

性能测试是软件测试中很重要的工程工程,有时候我们需要测试的一项内容便是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 [email protected]
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响应时间图来,还不错,^_^^_^

本文的评论功能被关闭了.