Тестирование производительности сервера
Часто требуется протестировать производительность сервера после внесения очередных изменений в конфигурацию. Ведь всего лишь изменением некоторых параметров nginx, apache или lighttpd можно добиться существенного прироста скорости. Но как измерить эту производительность?
Можно воспользоваться чем-то вроде Host Tracker, а можно на самом сервере запустить программу-бенчмарк. Например, ApacheBench.
Пользоваться ей очень легко:
#ab -c5 -n3000 /где ab — программа, -c5 — количество потоков, а -n3000 — сколько делать запросов. У программы есть много дополнительных параметров (смотрите документацию по ab): можно использовать cookies, POST-запросы, изменённые заголовки и т.п. Всё это позволяет производить полноценное тестирование сервера.
Выдача команды очень информативна:
Document Path: / Document Length: 21757 bytes Concurrency Level: 5 Time taken for tests: 288.255212 seconds Complete requests: 3000 Failed requests: 0 Write errors: 0 Total transferred: 66777000 bytes HTML transferred: 65271000 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)
Странно, что я раньше не пользовался этой программой: очень удобно.
Коммент.(0)