Recently, I have internet performance roles in Atheeb and I was playing with some performance tools. Some of them very simple command line tools, and some using fancy GUI interface. Regardless of the pros and cons of each tool, it was very excited time for me to use different tools, and find out what features can be provided out of each one of them.
Pylot, for instance is one of the great http performance tools. It is based on Python, it can run on Windows or Linux, and it has two versions; command line and GUI. The main disadvantage of Pylot is that it needs too many other components. For example, if you need to use GUI, you have to install a package called wxPython! and if you want a statistic report you have to install NumPy pkg, etc.
I also tryied Wbox. It is a command line tool, and it can be used on Windows and Linux machines. It is very simple tool, but it has a very limited options and output compared to others.
[root@server wbox]# ./wbox www.msn.com 5
WBOX www.msn.com (65.54.152.225) port 80
0. 200 OK 53920 bytes 1061 ms
1. 200 OK (53936) bytes 1069 ms
2. 200 OK (53920) bytes 1070 ms
3. 200 OK (53936) bytes 1068 ms
4. 200 OK (53920) bytes 1070 ms
--- 5 replies received, time min/avg/max = 1061/1067.60/1070 ---
The most professional and comprehensive tool I used was cURL. I was surprised how much information you can get from this little tool. It stands for “client for URLs”, and it can be used to transfer data from nine different protocol, not only http. So if you need to develop a script to transfer data using ftp, sftp, http, https or LDAP cURL is the only way to do it. Also, you can easy break down the output into more specific data wit hsome thing called built-in runtime variables. For example, you can break down the time to open a page into the connect time, name resolve time, pre-transfet time, and total time.
[root@RIY1-CP-01 internet-monitoring]# curl -w '\n\nlookup:%{time_namelookup}
size:%{size_download} time:%{time_total} speed:%{speed_download}
http_code:%{http_code}' -s curl.haxx.se
lookup:0.560 size:10653 time:4.892 speed:2177.000 http_code:200