What are good web server benchmarking tools for Linux?
- Apache JMeter
- The Grinder
Siege is an http load testing and benchmarking utility. It was designed to let web developers measure their code under duress, to see how it will stand up to load on the internet. Siege supports basic authentication, cookies, HTTP and HTTPS protocols. It lets its user hit a web server with a configurable number of simulated web browsers. I find this utility very useful and it’s also good at checking your infrastructure and security.
In this example I will install Siege onto my Ubuntu Desktop and test my web server which is running CentOS with Apache. Siege should be available in most Linux distributions repositories, it’s certainly in Ubuntu, Debian and CentOS (epel) repos.
Install Siege onto client computer running Ubuntu:
sudo apt-get install siege
Test web server which is named tigershark.local in this case:
sudo siege -c 120 http://tigershark.local
The above command will simulate 120 concurrent users hitting the site, the -c means concurrent users plus the value. You can also parse other switches such as -t which allows you to specify the time to run the test for. Here is another example using the time option and verbose output:
sudo siege -v -c 120 -t30M http://tigershark.local
See the MAN page or help switch for more options and more details including the manual can be found at the creators webpage: http://www.joedog.org/siege-manual