Often we need to measure web server performance. There are various reasons for this, but the most frequent one is modification of configuration files. Quite often we look for ways of improving web server speed and performance: tuning up nginx, apache or lighttpd we can get a significant performance boost. But finally we come to the question: how can we measure web server performance?
The first method is external load/stress testing – great solution for commercial projects. But there is also another good way for Apache – it’s open-source and free, called ApacheBench. It’s incredibly easy to use:
#ab -c10 -n3000 http://www.fastmonitoring.com/
- ab the name of the program
- C10 means the number of threads
- n3000 is the number of requests.
The program has a great variety of additional parameters — just check the official documentation. You can use cookies, POST requests, modified headers — everything that will help to simulate server users activity.
The program output is quite comprehensive:
Document Path: / Document Length: 121779 bytes Concurrency Level: 10 Time taken for tests: 211.255212 seconds Complete requests: 3000 Failed requests: 0 Write errors: 0 Total transferred: 63177000 bytes HTML transferred: 63171000 bytes Requests per second: 10.41 [#/sec] (mean) Time per request: 480.425 [ms] (mean) Time per request: 96.085 [ms] (mean, across all concurrent requests) Transfer rate: 226.23 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.5 0 19 Processing: 181 479 186.0 444 1822 Waiting: 166 461 184.7 427 1708 Total: 181 479 186.0 444 1822 Percentage of the requests served within a certain time (ms) 50% 444 66% 525 75% 577 80% 619 90% 732 95% 819 98% 946 99% 1012 100% 1822 (longest request) Highly recommended.
Popularity: 31%
Add A Comment