Материал просмотрен 859 раз(а)

Сейчас, поскольку упорно занимаюсь оптимизацией нашего родного сайта http://litl-admin.ru, возникла необходимость проверять быстродействие веб-сервера, дабы оценить общий потенциал и смысл оптимизации.
Но как проверять веб-сервер? Существует неплохая утилитка ab (Apache Benchmark), входящая в комплект (угадайте чего) веб-сервера. С помощью неё можно неплохо нагрузить сервер и оценить, насколько хорошо или плохо повлияло изменение каких-либо параметров.
Я думаю, что вы со мной согласитесь в том, что администрирование серверов включает в себя не просто эксплуатацию и настройку, а постоянное тестирование, с целью выявить “бутылочное горлышко” – узкое место, которое не дает конфигурации работать в полную мощность.
Тесты Apache Benchmark довольно синтетические, посылаются запросы в несколько потоков, отрабатывается время реагирования, количество обработанных и отвергнутых запросов и т.д. На выходе мы имеем сводную таблицу, в которой нас интересует несколько “попугаев”.
Под попугаями я понимаю синтетическую меру для сравнения различных характеристик, выражающуюся коэффициентом (38 попугаев и 1 крылышко). Вот получили в случае одной конфигурации число 1,75, а в случае другой – 3,50… Что это за числа. Насколько они приближены к реальности. А так же, точно ли второй сервер будет в любых условиях отрабатывать на свои 3,5 против 1,75 – мы не знаем. Можно с уверенностью сказать, что в данном тесте он повёл себя на Эн очков, а другой конфиг – только на Икс. И сравнить.

Так вот, для сравнения мы выполним команду:
# ab -n 1000 -c 20 http://litl-admin.ru/index.php
-n в данном случае означает количество запросов.
-c означает количество потоков (конкурирующих нитей).
То есть послать 1000 запросов в 20 потоков.

Конечно, параметров у бенчмарка куда больше. Но вот такое окно результатов мы увидим:

Бенчмарк

Бенчмарк

Интересует нас вот параметры Failed Requests (необработанные запросы) и Requests per second (RPS, запросы в секунду). Скажу сразу, на предыдущем тесте. когда стоял апач у меня на -n 600 и -c 10 выдало 83% Failed и примерно 1,2 RPS. Налицо почти семикратное увеличение быстродействия, снижение потребления памяти (прошлые сервисы от такого бенчмарка крашились), ну и радует отсутствие Failed-ов.

Ну а вот попугаи после включения fastcgi_cache 🙂

Кешированные попугаи

Кешированные попугаи

Ну здесь уж совсем не интересно – сервер просто отдаёт закешированную страницу клиенту 🙂 А нам что? Быстродействие прибавилось. Интерактив немного убавился за счёт того, что страницы в кеше могут оставаться “не свежие”. Но это мелочи! Ведь время жизни кеша короткое, он будет пересоздаваться.