Установка У меня есть несколько экземпляров t2.small EC2, на которых размещена библиотека обработки изображений под названием Thumbor для простого изменения размера изображения «на лету». Оригиналы загружаются из S3. Перед экземплярами у меня стоит балансировщик нагрузки EC. На серверах установлен сервер мониторинга New Relic.
Эта проблема В случайные моменты мои серверы внезапно начинают испытывать чрезвычайно высокие средн. время отклика. Если я посмотрю на статистику в New Relic, единственное, что я увижу, это то, что ЦП серверов постоянно выдает сообщения об «украденном» ЦП.
Кажется, что у моих серверов достаточно высокая емкость, и в то же время НЕ похоже на резкие скачки пропускной способности.
Я заметил, что если я снова остановлю / запускаю серверы. Затем украденный процессор исчезает, и они снова работают нормально - до следующего раза - может пройти несколько часов или дней.
Почему это происходит и что мне делать?
Инстансы серии t в Amazon используют систему квот на использование ЦП. Когда вы достигнете своей квоты, ваши украденные проценты начнут расти. С этим мало что можно сделать, это структурно для предложения.
Как уже говорили другие, у вас, скорее всего, заканчивается Кредиты CPU. По сути, с экземплярами T2 вы получаете долю ЦП, 20% ядра в случае t2.small, с возможностью увеличения до одного или двух ядер (в зависимости от типа вашего экземпляра) до предела вашего Кредиты ЦП. Вы также не должны использовать экземпляр T за балансировщиком нагрузки в большинстве случаев, из-за переменной производительности он может вызвать странные проблемы, которые может быть трудно диагностировать.
Если у вас заканчиваются кредиты, вам нужно перейти к более крупному экземпляру T или перейти к экземпляру, который имеет постоянный доступ к ядрам. C (оптимизированные для вычислений) или M (общего назначения) были бы более подходящими.
Ты можешь отслеживайте количество ресурсов ЦП с помощью CloudWatch. Это поможет вам решить, использовать ли более крупный экземпляр T или экземпляр C / M.