У меня есть VPS, на котором размещен сайт (http://www.tanguay.info/web) что касается 1800 уникальных посетителей в день.
Сайт работал нормально, Время отклика 3 секунды неделями.
Внезапно на Пятница в 16:00 сайт стал недоступен с время отклика более 30 секунд и с тех пор не работает. Вот график пингдома:
альтернативный текст http://tanguay.info/web/external/pingdomdown.png
Даже после многократной перезагрузки я не могу вернуть время отклика ниже 30 секунд. С помощью команды «top» я вижу, что запущено более 30 процессов Apache, которые, похоже, занимают более 90% памяти.
Что может быть причиной этого? Почему должно быть открыто так много процессов Apache, тем более что сайт и так сейчас практически недоступен? Может быть, эти процессы как-то просто не закрываются?
альтернативный текст http://tanguay.info/web/external/tooManyApacheProcesses.png
Вы находитесь на виртуальной машине на базе Virtuozzo / OpenVZ (на основе top
скриншот вы выложили). Что-то еще, вероятно, забивает машину, на которой вы находитесь, поскольку этот верхний вывод на самом деле не показывает ничего ненормального (17 МБ RES для процесса Apache вполне разумно). Я бы поговорил с вашим хостинг-провайдером о том, чтобы не перегружать их серверы виртуальных машин, или найти лучшего поставщика виртуальных машин.
Статический контент не страдает, проблема скорее всего в базе данных. Просмотрите журнал медленных запросов MySQL на /var/log/mysql/mysql-slow.log
. Apache mod_status
также может быть полезно, он покажет страницу состояния, например этот.
Увидев все процессы, отмеченные буквой D, я думаю, что дисковая подсистема могла быть перегружена.