Monitoring tool for performance of a web server

Httping monitoring tool is like ‘ping’ but for http-requests. Give it an url, and it’ll show you how long it takes to connect, send a request and retrieve the reply (only the headers). Be aware that the transmission across the network also takes time! So it measures the latency of the Webserver + network. It supports, of course, IPv6.

HTTPing is good for when you make changes to your server and want to see what effect those changes had on network performance and latency.

How to install HTTPing

You can install it through yum

yum install httping

or try with rpm repository.

http://pkgs.org/centos-6-rhel-6/repoforge-x86_64/httping-2.0-1.el6.rf.x86_64.rpm.html

install via source.

cd /usr/local/src

http://www.vanheusden.com/httping/httping-2.3.3.tgz

tar -zxvf httping-2.3.3.tgz
cd httping-2.3.3

make install

This will first invoke the 'configure'-script and then build the sources.
You can also run 'configure' manually. Then the following switches apply:
--with-tfo      force enable tcp fast open
--with-ncurses  force enable ncurses
--with-openssl  force enable openssl
--with-fftw3    force enable fftw3

Please note that TCP fast open requires a Linux kernel of version 3.7 or more recent.

'fftw3' support is only usefull if you include the ncurses interface.

Once installation completed, check with help options

root@server1 [~]# httping –help

-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
-i  interval    delay between each connect
-G     do a GET request instead of a HEAD request. The  complete  page/file  must be transferred.
-b              show transfer speed in KB/s (use with -G)
- X            show  the amount of data transferred (excluding the headers)
- c              How many probes to send before exiting

Example :

ping your website.

root@server1 [~]# httping -g www.cpanelkb.net
PING www.cpanelkb.net:80 (/):
connected to 206.190.133.182:80 (228 bytes), seq=0 time=17.44 ms
connected to 206.190.133.182:80 (228 bytes), seq=1 time=2.24 ms
connected to 206.190.133.182:80 (228 bytes), seq=2 time=1.55 ms
connected to 206.190.133.182:80 (228 bytes), seq=3 time=1.92 ms
connected to 206.190.133.182:80 (228 bytes), seq=4 time=4.50 ms

Ping a Webserver and Specify a port: ( specify port 80 )

root@server1 [~]#$ httping -c 4 -p 80 -g http://www.cpanelkb.net

PING www.cpanelkb.net:80 (/):
connected to 206.190.133.182:80 (486 bytes), seq=0 time=2.65 ms  0KB/s
connected to 206.190.133.182:80 (486 bytes), seq=1 time=2.54 ms  0KB/s
connected to 206.190.133.182:80 (486 bytes), seq=2 time=1.65 ms  0KB/s
connected to 206.190.133.182:80 (486 bytes), seq=3 time=1.59 ms  0KB/s

Ping a Webserver and request complete page/file:

The capital “G” sends a GET request rather then a HEAD request. By receiving the entire page/file you can measure the throughput of the webserver.

root@server1 [~]# httping -c 4 -p 80 -G -b -g www.cpanelkb.net
PING tamilcreation.com:80 (/):
connected to 206.190.133.182:80 (486 bytes), seq=0 time=2.65 ms  0KB/s
connected to 206.190.133.182:80 (486 bytes), seq=1 time=2.54 ms  0KB/s
connected to 206.190.133.182:80 (486 bytes), seq=2 time=1.65 ms  0KB/s
connected to 206.190.133.182:80 (486 bytes), seq=3 time=1.59 ms  0KB/s
--- http://tamilcreation.com/ ping statistics ---
4 connects, 4 ok, 0.00% failed, time 3009ms
round-trip min/avg/max = 1.6/2.1/2.6 ms
Transfer speed: min/avg/max = 0.000000/0.000000/0.000000 KB

Using httping from Nagios

Nagios is a versatile monitoring package. Very much flexible.

define command{
command_name    check_httping
command_line    /usr/bin/httping -N 2 -c 1 -h $HOSTADDRESS$
}

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s