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 https://www.vanheusden.com/httping/httping-2.5.tgz tar -zxvf httping-2.5.tgz ccd httping-2.5 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$
}