среда, 27 октября 2010 г.

Про тормоза сайта

Иногда, бывает, всякий сайт подтормаживает. Открывается медленно, плохо реагирует на действия пользователя. Иногда, бывает, это приводит пользователей в бешенство и они с него уходят. Уменьшается конверсия; а операторы интернет-магазина бьются в истерике и грозятся растерзать программиста.

Источник этих тормозов мне пока что неизвестен. Я и там, и сям пооптимизировал запросы, сделал кэширование в узких местах результатов выборки из БД или прямо кусков HTML. В целом сайт работать стал быстрее. Главная страница весит 106Кб, не считая картинок, JS и CSS, и отдаётся обычно в пределах 3-4 секунд целиком. Иногда приходится ждать до 10 секунд. А иногда... что происходит, я не могу предположить. Внезапно топ забивается форками апача, появляются их зомби, которые не успевает усыновить и убить инит, а мускуль начинает отжирать больше 700% процессорного времени (там 8 ядер). Если в этот момент посмотреть в мускуле full processlist, то полным-полно запросов, которые сортируются, копируются во временные таблицы, отсылают данные или просто (таких большинство) ждут своей очереди. Никаких особо страшных запросов среди них нет, все как обычно. Через некоторое время вся эта куча разгребается, и всё работает нормально. С чем это может быть связано - я не знаю. В рейде вроде как места дофига ещё, так что это не из-за этого.

Я написал скрипт под гордым названием adminka_drocher.php, который с моего рабочего компа каждые пять минут долбится на главную страницу и замеряет скорость получения контента. На основании собранной им статистики я надеюсь хоть немного приблизиться к разгадке тайны внезапных тормозов.

Превью, а ниже картинка побольше.



Кажется, я нарисовал полночь немного не там :)

Комментариев нет:

Отправить комментарий

Ублюдочный Гугл поломал форму комментариев. Извините.