papilio

Записи с меткой «ab»

Тестирование производительности сервера

Часто требуется протестировать производительность сервера после внесения очередных изменений в конфигурацию. Ведь всего лишь изменением некоторых параметров 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)

Странно, что я раньше не пользовался этой программой: очень удобно.

Метки: , , , , , , , , ,