Серверы Amazon EC2 зависают время от времени - PullRequest
0 голосов
/ 01 февраля 2020

Я работаю с серверами Amazon EC2 более 3 лет и заметил повторяющееся поведение: некоторые серверы зависают время от времени (от 1 до 5 раз в год).

  • Когда происходит этот факт, я не могу подключиться к серверу (пробовал соединения http, mysql и s sh), пока сервер не будет перезапущен.
  • Сервер вернулся к работа после перезапуска.
  • Иногда сервер выходит в сеть на 6+ месяцев, иногда сервер зависает примерно через 1 месяц после перезапуска.
  • Все серверы, на которых я заметил это поведение, были микроэкземплярами (север Вирджиния и Сан-Паулу).
  • Серверы имеют обычную среду Apache 2, Mysql 5, PHP 7, с Ubuntu 16 или 18. Веб-приложение PHP / MySQL не является ЦП интенсивный и недоступный для более чем 30 пользователей / час.
  • Одна и та же среда и приложение на серверах Digital Ocean НЕ воспроизводят поведение (у меня два цифровых сервера Ocean работают непрерывно в течение 2+ лет).

Мне нравятся Amazon EC2 Servers, главным образом потому, что у Amazon есть много полезных дополнительных сервисов (таких как SES), но такое поведение действительно разочаровывает. Иногда мне звонили клиенты с жалобами на отключенные системы, и мне просто нужно перезапустить экземпляр, чтобы решить эту проблему.

У кого-нибудь есть совет по решению этой проблемы?

ОБНОВЛЕНИЕ 1

  • Это экземпляры t2.micro (1 ГБ ОЗУ, 1 vCPU).
  • MySQL ПОКАЗАТЬ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ: pastebin.com/m65ieAAb

ОБНОВЛЕНИЕ 2

В журналах наблюдается пик загрузки ЦП, близкий к моменту, когда сервер не работал. Это было в 3 часа ночи. В настоящее время существует ежедневная задача crontab для резервного копирования базы данных. Но, учитывая, что эта задача выполняется каждый день, почему просто иногда сервер зависает?

1 Ответ

1 голос
/ 01 февраля 2020

Я не видел этой точной проблемы, но на любой облачной платформе я предполагаю, что любой экземпляр может выйти из строя в любое время, поэтому мы проектируем для отказа. Например, у нас есть автоматическое масштабирование для всех экземпляров, обращенных к клиенту. Каждый раз, когда происходит сбой экземпляра, он автоматически заменяется.

Если клиент звонит, чтобы сообщить вам, что сервер не работает, вам может потребоваться рассмотреть более автоматизированные методы мониторинга работоспособности экземпляра и предпринять автоматические действия для восстановления экземпляра.

В CloudWatch также доступны действия по восстановлению сервера, которые можно запускать при достижении определенных пороговых значений c.

...