Проблема на сервере

Четверг, 19th Февраль 2009

 Ещё с осени стал замечать что иногда с хостингом на котором находятся мои сайты что то не в порядке. То подвисает загрузка страниц, то вообще страница ошибок выскакивает. Иногда даже при кэшировании страниц происходит непонятная перекодировка. Например если кодировка utf-8 то кэш сохраняется в кодировке win-1251. После очистки кэша всё восстанавливается. Дальше - хуже. Дошло до того что не мог одну публикацию исправить. Пришлось лезть в БД и удалять её вручную, пёрла ошибка с сохранением из за того что не удалялся прежний вариант.

    Написал хостеру о проблемах. И вот что мне ответил хостер - Здравствуйте! Ваш аккаунт создаёт большую нагрузку на сервер. Проверьте скрипты ,которые могли бы сильно нагрузить сервер. Если это происходит периодически, возможно можно будет увидеть какие скрипты нагружают сервер, если включить лог-файлы и
посмотреть по ним.
Я в свою очередь отправил вопрос о том, какие лог-файлы имелись ввиду. Вот ответ - Я имел в виду лог-посещений (и анализатор логов awstats для удобства), чтобы посмотреть на какие страницы больше заходов во время нестабильной работы сайта. После чего мы договорились что мне на почту будут раз в сутки отправлять данные о нагрузке на сервер. И судя по данным, что то действительно очень сильно перегружает сервак.

+-----------------------------------------------------------------------+
| server  | user     | cp_stat | quota | date       | warnings | errors |
+-----------------------------------------------------------------------+
| gandalf | prosatru | 81.03   | 19    | 2009-01-20 | 3926     | 312    |
| gandalf | prosatru | 62.21   | 19    | 2009-01-21 | 2284     | 63     |
| gandalf | prosatru | 116.33  | 19    | 2009-01-22 | 4236     | 256    |
| gandalf | prosatru | 126.8   | 19    | 2009-01-23 | 6341     | 33     |
| gandalf | prosatru | 89.09   | 19    | 2009-01-24 | 3380     | 134    |
| gandalf | prosatru | 135.05  | 20    | 2009-01-25 | 5714     | 186    |
| gandalf | prosatru | 124.45  | 20    | 2009-01-26 | 5640     | 94     |
| gandalf | prosatru | 118.41  | 20    | 2009-01-27 | 4781     | 87     |
| gandalf | prosatru | 25.65   | 19    | 2009-01-28 | 5185     | 65     |
| gandalf | prosatru | 111.27  | 19    | 2009-01-29 | 13291    | 795    |
+-----------------------------------------------------------------------+

 В таблице приведены следующие значения: cp_stat - статистическая процессорная
нагрузка аккаунта на сервер, warnings - число превышений нагрузки на процессор
более 10% (втечение 5 секунд), errors - число превышений нагрузки на процессор
более 50% (втечение 5 секунд). В первую очередь стоит обратить внимание на
параметр cp_stat (безразмерная величина, характеризующая статистическую нагрузку
на процессор втечение суток) - она не должна превышать заданных норм. Такими нормами
для виртуального хостинга (кроме тарифа VIP) является значение 50 и для тарифа VIP
значение - 90. Также необходимо обратить внимание на столбцы warnings и errors.
Число errors должно быть равно 0, а warnings должно стремиться к нулю. Нормально
отлаженные работающие скрипты среднего сайта не должны отнимать более 3% процессорного
времени более 3-5 секунд. Если это не так, и дальнейшая оптимизации невозможна,
следовательно необходимо рассмотреть вариант размещения проекта на выделенном сервере.

   Вот такую таблицу я получил в первый же день. Теперь дело за малым, найти что так сильно грузит сервер. И найти не зная толком что ищеш, всё же на одном аккаунте у меня 4 сайта на КМС и плюс отдельные скрипты. Как я искал откуда нагрузка и что я делал, будет позже.