Я использую новый виртуальный сервер через GoDaddy, и сегодня утром мне позвонили представители власти, которые сообщили мне, что наш веб-сайт отключен. Убедившись в этом, я запросил цикл питания через нашу панель управления GoDaddy, и через пару минут сервер вернулся в онлайн. Я позвонил и сообщил, что мы вернулись.
Конечно, через пару минут мы снова упали. Я попытался подключиться через PuTTy, и мне требуется вечность, чтобы запрашивать имя пользователя, и каждое последующее приглашение занимает много времени. Я использую CentOS. Итак, мои вопросы:
Одно интересное и, возможно, актуальное наблюдение заключается в том, что вчера наше потребление полосы пропускания было примерно на 20% больше, чем наши максимальные показатели за последний месяц.
Возможно, сервер либо подвергается косой черте, либо имеет DOS-атаку против него.
Что, вероятно, происходит, так это то, что Apache использует слишком много оперативной памяти и меняет местами как сумасшедшие. Как только он начинает обмен, он находится в спирали смерти (поскольку каждый новый запрос после того, как он начинает обмен, занимает экспоненциально больше времени для выполнения). Единственный способ спасти его - отскочить от Apache, прежде чем он слишком глубоко войдет в свопинг.
Чтобы решить эту проблему, вам нужно настроить Apache так, чтобы он не запускал слишком много потоков / рабочих процессов. Увидеть документация в теме. Либо так, либо перейдите на более легкий веб-сервер (что-то вроде Lighttpd или Nginx).
Я бы также рекомендовал настроить сетевой монитор. Я лично использую Nagios и Мунин для мониторинга всех моих серверов / сервисов. Nagios предоставляет мне оповещения и предупреждения, когда ресурсы становятся низкими или процессы / серверы отключаются. Munin записывает историческую информацию (так что, если вы знаете, что он вышел из строя 20 минут назад, вы можете увидеть, что изменилось до момента, когда он вышел из строя). Вам НУЖНЫ обе системы мониторинга, если вы хотите эффективно управлять производственным сервером (по крайней мере, IMHO). Таким образом, вам не нужно беспокоиться о том, чтобы полагаться на свой хост ни в чем другом, кроме службы ...
На моем веб-сервере мы настраиваем monit, он отправит SMS администратору контролировать&
Попросите хоста распечатать данные об активности процессора и ввода-вывода для вашего сервера, чтобы вы могли увидеть, сколько ресурсов на стороне сервера было использовано. Тем более, что вы не можете войти в систему, когда она выйдет из строя - на стороне виртуальной машины будут хорошие графики о том, что она МОЖЕТ видеть: сеть, ввод-вывод диска и процессор.