FastNetMon

Friday 1 January 2010

Нагрузочное тестирование серверов

В Интернете полно всяких сомнительных тестов, когда меряется скорость print 1 в PHP или там скорость выполнения цикла for по миллиону элементов. Разумеется, ничего близкого к объективной оценке скорости работы сервера это не дает по ряду понятных причин (ну, как понимаете, CMS - это чуть сложнее, чем просто PHP+MySQL, тут и сессии, что хранятся на диске, тут и Nginx для раздачи статики, тут и пачки FastCGI процессов, исполняющие запросы пользователя). Когда я сам столкнулся с задачей выяснить максимальное число сайтов на сервер при условии сохранения качественной услуги для каждого сайта первой мыслью было - врубить ab на некий скрипт.

Теперь вопрос, кого именно дергать скриптом? Наверное, звание "среднестатистический сайт" можно отдать движку Wordpress. Да, хорошо, Wordpress. Но тоже ли самое - голый Wordpress с одной страничкой "Hello World" или СДЛ (Сайт Для Людей, то есть сайт с большим количеством качественного контента)? Конечно же, нет. В первом случае мы получим время компиляции / интерпретации PHP кода / чтение сессии с диска и один запрос в БД, который тут же будет закэширован MySQL query cache и далее никто базу доставать не буде. В случае СДЛ (особенно, когда мы будем дергать эдак разных страниц 5) сюда прибавляются довольно серьезные выборки по довольно серьезным таблицам (а тут мы можем замучать диск), сюда же добавляется графика, которая также требует времени на отдачу, тут же сразу получается большое число сессий.

Думаю, я убедил, что Wordpress, забитый контентом похожим на СДЛ является наиболее оптимальным шаблоном "среднего сайта Рунета". Но где взять контент? Разумеется, взять месяц отпуска и написать... так, стоп, я что-то отвлекся :) Конечно же, загуглить! И первой ссылкой при корректно сформулированном запросе будет вот этот суперсккий блог: http://www.maverickconceptions.com/2009/09/24/testing-data-for-wordpress-themers/, автор которого (за что ему огромный респект!) создал открытый проект на GitHub http://github.com/lwallenstein/Wordpress-Test-Database как раз представляющий собой "тестовый контент для Wordpress эмулирующий СДЛ".

No comments :

Post a Comment

Note: only a member of this blog may post a comment.