¿Qué constituye la CPU "inactiva" durante el cálculo del crédito de CPU T2?

9

La documentación para los tipos "burstable" EC2 T2 dice:

El rendimiento básico y la capacidad de estallar se rigen por los créditos de la CPU. Cada instancia de T2 recibe continuamente créditos de CPU a una velocidad establecida, dependiendo del tamaño de la instancia. Las instancias T2 acumulan créditos de CPU cuando están inactivas y usan créditos de CPU cuando están activas. Un crédito de CPU proporciona el rendimiento de un núcleo de CPU completo durante un minuto.

Lo que no entiendo es ¿qué significa inactivo ? Todas las instancias usan algo de CPU> 0%, entonces ¿hay una cifra de uso de CPU bajo la cual la instancia se considera "inactiva"?

Sorprendentemente, dado el uso liberal de este término, no puedo encontrar una definición de "inactivo" en ninguna parte.

Dan Gravell
fuente

Respuestas:

7

Buena pregunta, la documentación de Amazon EC2 para créditos de CPU en instancias T2 podría ser más precisa aquí de hecho: la publicación de blog introductoria Nuevas instancias EC2 de bajo costo con rendimiento de Burstable proporciona una mejor explicación, consulte la tabla en el medio:

La columna denominada "Rendimiento de referencia" indica el porcentaje de rendimiento de un solo núcleo de la CPU física subyacente asignada a la instancia. Por ejemplo, una instancia t2.small tiene acceso al 20% de un solo núcleo de un procesador Intel Xeon que funciona a 2.5 GHz (hasta 3.3 GHz en modo Turbo). Un t2.medium tiene acceso al 40% del rendimiento de un solo núcleo, que usted (o su sistema operativo, para ser un poco más precisos) puede usar en uno o ambos núcleos según lo dicte la demanda.

La columna etiquetada "Créditos de CPU / hora" indica la tasa de créditos de CPU que recibe la instancia T2 cada hora. Los créditos de CPU se acumulan cuando la instancia no usa su asignación de línea base de CPU y se gastan cuando la instancia está activa . Los créditos de CPU no utilizados se almacenan hasta por 24 horas. [énfasis mío]

Steffen Opel
fuente
44
Genial, así que en el caso de T2.small, por ejemplo, que tiene una línea base del 20% de CPU, cuando está por debajo del 20% estamos ganando a una tasa fija, cuando está por encima estamos gastando a una tasa variable según los documentos. aws.amazon.com/AWSEC2/latest/UserGuide/…
Dan Gravell
1
Exactamente: este enfoque transparente (incluidas las métricas apropiadas de CloudWatch ) es una mejora bastante significativa y competitiva sobre el modelo de aceleración anterior para las respectivas t1.microinstancias infames .
Steffen Opel
@DanGravell, usted gana a una tasa variable "Por ejemplo, si una instancia t2.small tuviera una utilización de CPU del 5% por hora, habría utilizado 3 créditos de CPU (5% de 60 minutos), pero habría ganado 12 créditos de CPU durante la hora, por lo que la diferencia de 9 créditos de CPU se agregaría al saldo de crédito de CPU "
Paul Draper,
2

"inactivo" es notoriamente difícil de definir en general para servidores Linux. A nivel general, inactivo debe ser cualquier tiempo que no se pase en modo de usuario, modo de sistema, modo de baja prioridad, espera o interrupciones de E / S, con la provisión especial que da el tipo correcto de carga de trabajo, el tiempo de espera de E / S podría convertirse al tiempo en modo de usuario (para otro proceso).

Sin embargo, en la cuestión de inactividad de AWS t2, esto no se cumple. Tampoco se mantuvo durante t1 (debido al tiempo "robado"), pero incluso eso no explica el comportamiento de t2. Me he encontrado con escenarios en los que el tiempo de inactividad (según lo informado por Linux top y por AWS CloudWatch) está muy por encima de los niveles de umbral documentados, pero la instancia está perdiendo créditos de CPU en lugar de ganarlos. Creo que esto es un error contable por parte de Amazon, y hasta que se solucione, tratar de comprender cómo se definen la utilización de la CPU y la inactividad será una pérdida de tiempo.

He publicado algunos cuadros ilustrativos en los foros de soporte de AWS, donde espero que respondan. https://forums.aws.amazon.com/thread.jspa?messageID=568026#568026

osma
fuente
Es posible que tengamos el mismo problema con una instancia mediana para el procesamiento de correo. Los créditos se acumularon linealmente sin ningún uso, y ahora desplegados, hay una caída gradual incluso con la utilización máxima en segmentos de 5 minutos de menos del 1%. Puede ser que el umbral de inactividad sea una pequeña fracción del 1%, pero eso no haría que las instancias sean útiles. Sin embargo, las respuestas de Amazon a su boleto y otros sugieren que el cálculo de créditos no funciona según lo previsto.
Nick
El personal de Amazon publicó una explicación del sistema, que parece ser más complejo de lo que la documentación lleva a pensar: no solo hay un saldo máximo de créditos para cada tipo de instancia T2, sino que los créditos obtenidos hace 24 horas caducarán del saldo. Es decir, un t2.small ganará 12 créditos por hora, mantendrá un saldo máximo de 288 créditos, pero TAMBIÉN los créditos que ganó hace 24 horas se restarán del saldo. Esto significa que las instancias de más de 24 horas perderán créditos más rápido de lo que cabría esperar, y el saldo a largo plazo probablemente estará más cerca del valor inicial que del máximo.
osma
@osama gracias por agregar eso. Según los gráficos, sospecho que aún hay más , pero está funcionando para nosotros en este momento, que es lo que importa :) Hemos aumentado la carga promedio en un medio desde el viernes y estamos mirando para ver qué sucede ahora.
Nick
0

Esto es algo como abajo

Si está utilizando una micro instancia que se ejecuta en un máximo de 10% de núcleo único en todo momento. supongamos que suceden momentos en los que su servidor consume el 5% de un solo núcleo, por lo que considera que el 5% restante de la potencia informática está inactivo. Este 5% sigue acumulando fuera de curso solo durante 24 horas. Ahora, si tiene esta acumulación y quiere decir que mientras su servidor está muriendo de hambre de poder de cómputo, puede tomar prestado de este poder de cómputo acumulado. Para esta potencia informática, han utilizado una palabra elegante llamada Créditos de CPU.

Busqué en Google y encontré una buena explicación en algún blog http://themindtracks.com/amazon-launches-new-low-cost-ec2-instances-burstable-performance/

Achal Saraiya
fuente