В документации для "взрывоопасных" типов EC2 T2 говорится:
Базовая производительность и возможность пакетной загрузки регулируются кредитами ЦП. Каждый экземпляр T2 непрерывно получает кредиты ЦП с заданной скоростью в зависимости от размера экземпляра. Инстансам T2 начисляются кредиты ЦП, когда они простаивают, и использовать кредиты ЦП, когда они активны. Кредит ЦП обеспечивает производительность полного ядра ЦП в течение одной минуты.
Я не понимаю, что делает праздный значит? Все экземпляры используют некоторый ЦП> 0%, поэтому существует ли показатель использования ЦП, при котором экземпляр считается "бездействующим"?
Удивительно, но, учитывая либеральное использование этого термина, я нигде не могу найти определение «простоя».
Хороший вопрос, Amazon EC2 документация для Кредиты ЦП в инстансах T2 здесь действительно можно было бы быть более точным - вводный пост в блоге Новые недорогие инстансы EC2 с стабильной производительностью дает лучшее объяснение, см. таблицу посередине:
В столбце «Базовая производительность» указывается процентная доля одноядерной производительности базового физического процессора, выделенного для экземпляра. Например, экземпляр t2.small имеет доступ к 20% одного ядра процессора Intel Xeon, работающего на частоте 2,5 ГГц (до 3,3 ГГц в режиме Turbo). T2.medium имеет доступ к 40% производительности одного ядра, которое вы (или ваша операционная система, если быть более точным) можете использовать на одном или обоих ядрах в зависимости от спроса.
Столбец «Кредиты ЦП / час» указывает скорость кредитов ЦП, которые экземпляр T2 получает каждый час. Кредиты ЦП накапливаются, когда экземпляр не использует базовое выделение ЦП, и расходуются, когда экземпляр активен.. Неиспользованные кредиты ЦП хранятся до 24 часов. [курсив мой]
Как известно, для серверов Linux в целом трудно определить "бездействие". На общем уровне простоя должен означать любое время, которое не тратится на пользовательский режим, системный режим, режим с низким приоритетом, ожидание ввода-вывода или прерывания - со специальным положением, которое при правильном типе рабочей нагрузки, время ожидания ввода-вывода может быть преобразованным во время пользовательского режима (для другого процесса).
Однако в вопросе простоя AWS t2 это неверно. Это не годится и для t1 (из-за «украденного» времени), но даже это не объясняет поведения t2. Я сталкивался со сценариями, когда время простоя (как сообщается как Linux top, так и AWS CloudWatch) намного превышает задокументированные пороговые уровни, но экземпляр теряет кредиты ЦП вместо их получения. Я считаю, что это ошибка бухгалтерского учета на стороне Amazon, и до тех пор, пока она не будет исправлена, слишком усердные попытки понять, как определяются загрузка ЦП и простоя, будут пустой тратой времени.
Я разместил несколько иллюстративных диаграмм на форумах поддержки AWS, и, надеюсь, они ответят. https://forums.aws.amazon.com/thread.jspa?messageID=568026#568026
Это примерно так
Если вы используете микро-экземпляр, который работает на одном ядре максимум 10%. Предположим, наступят времена, когда ваш сервер потребляет 5% одноядерного процессора, поэтому он считает оставшиеся 5% вычислительной мощности простаивающими. Эти 5% продолжают накапливаться вне курса только в течение 24 часов. Теперь, если у вас есть это накопление и вы имеете в виду, что пока вашему серверу не хватает вычислительной мощности, он может заимствовать из этой накопленной вычислительной мощности. Для обозначения этой вычислительной мощности они использовали причудливое слово под названием CPU Credits.
Я погуглил и нашел хорошее объяснение в каком-то блоге http://themindtracks.com/amazon-launches-new-low-cost-ec2-instances-burstable-performance/