用httping测试web页面响应时间

2022-06-29 20:19:14 浏览数 (1)

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

0 人点赞