Что представляет собой "простаивающий" процессор при расчете кредита Ц2?

Документация для EC2 T2 "burstable" типов гласит:

Базовая производительность и способность к взлому определяются процессором. Каждый экземпляр T2 непрерывно получает кредиты ЦП с установленной скоростью, в зависимости от размера экземпляра. Экземпляры T2 накапливают кредиты ЦП, когда они простаивают, и используют кредиты ЦП, когда они активны. Кредит ЦП обеспечивает производительность полного ядра ЦП за одну минуту.

То, что я не понимаю, что означает бездействие? Все экземпляры используют некоторый ЦП> 0%, поэтому есть ли показатель использования ЦП, при котором экземпляр считается "бездействующим"?

Удивительно, но учитывая либеральное использование этого термина, я нигде не могу найти определение "бездействия".

3 ответа

Решение

Хороший вопрос, документация по Amazon EC2 для кредитов ЦП в экземплярах T2 здесь может быть более точной - вступительное сообщение в блоге Новые недорогие экземпляры EC2 с быстродействующей производительностью дает лучшее объяснение, см. Таблицу в середине:

Столбец, помеченный как "Базовая производительность", указывает процент производительности одного ядра базового физического ЦП, выделенного для экземпляра. Например, экземпляр t2.small имеет доступ к 20% одноядерного процессора Intel Xeon, работающего на частоте 2,5 ГГц (до 3,3 ГГц в турбо-режиме). T2.medium имеет доступ к 40% производительности одного ядра, которое вы (или, если быть более точным, ваша операционная система) можете использовать на одном или обоих ядрах в зависимости от спроса.

Столбец, помеченный как "Credits / Hour CPU", показывает частоту кредитов CPU, которые экземпляр T2 получает каждый час. Кредиты ЦП накапливаются, когда экземпляр не использует базовое распределение ЦП, и расходуются, когда экземпляр активен. Неиспользованные кредиты ЦП хранятся до 24 часов. [Акцент мой]

Общеизвестно, что "простоя" вообще трудно определить для серверов Linux. На общем уровне простоя должно быть любое время, не затрачиваемое на пользовательский режим, системный режим, режим с низким приоритетом, ожидание ввода-вывода или прерывания - со специальным условием, обеспечивающим правильный тип рабочей нагрузки, время ожидания ввода-вывода может быть преобразовано во время пользовательского режима (для другого процесса).

Тем не менее, в вопросе простоя AWS t2 это не имеет места. Это также не относится к t1 (из-за "украденного" времени), но даже это не объясняет поведение t2. Я сталкивался со сценариями, в которых время простоя (как сообщают и топ Linux, и AWS CloudWatch) намного превышает документированные пороговые уровни, но в данном случае экземпляр теряет кредиты ЦП, а не получает их. Я считаю, что это ошибка бухгалтерского учета на стороне Amazon, и пока она не будет исправлена, слишком усердно пытаться понять, как определяются загрузка процессора и время простоя, будет пустая трата времени.

Я опубликовал несколько иллюстративных диаграмм на форумах поддержки AWS, где, надеюсь, они ответят. https://forums.aws.amazon.com/thread.jspa?messageID=568026

Это что-то вроде ниже

Если вы используете микроэкземпляр, который работает на одном ядре максимум 10%. Предположим, что настало время, когда ваш сервер потребляет 5% от одного ядра, поэтому он считает оставшиеся 5% вычислительной мощности простаивающими. Эти 5% продолжают накапливаться вне курса только в течение 24 часов. Теперь, если у вас есть это накопление и имеется ввиду, когда ваш сервер испытывает потребность в вычислительной мощности, он может заимствовать эту накопленную вычислительную мощность. Для этой вычислительной мощности они использовали причудливое слово под названием CPU Credits.

Я погуглил и нашел хорошее объяснение в каком-то блоге http://themindtracks.com/amazon-launches-new-low-cost-ec2-instances-burstable-performance/

Другие вопросы по тегам