Was bedeutet "Leerlauf" -CPU während der Berechnung des T2-CPU-Guthabens?


9

In der Dokumentation für EC2 T2 "Burstable" -Typen heißt es:

Die Basisleistung und die Burst-Fähigkeit werden durch CPU-Credits bestimmt. Jede T2-Instanz erhält abhängig von der Instanzgröße kontinuierlich CPU-Credits mit einer festgelegten Rate. T2-Instanzen sammeln CPU-Credits, wenn sie inaktiv sind , und verwenden CPU-Credits, wenn sie aktiv sind. Ein CPU-Guthaben bietet eine Minute lang die Leistung eines vollständigen CPU-Kerns.

Was ich nicht verstehe ist, was bedeutet Leerlauf ? Alle Instanzen verwenden eine CPU> 0%. Gibt es also eine CPU-Auslastungszahl, unter der die Instanz als "inaktiv" betrachtet wird?

Überraschenderweise kann ich angesichts der liberalen Verwendung dieses Begriffs nirgendwo eine Definition von "Leerlauf" finden.

Antworten:


7

Gute Frage, die Amazon EC2- Dokumentation für CPU-Credits in T2-Instanzen könnte hier tatsächlich genauer sein - der einführende Blog-Beitrag Neue kostengünstige EC2-Instanzen mit Burstable-Leistung bietet eine bessere Erklärung, siehe Tabelle in der Mitte:

Die Spalte mit der Bezeichnung "Basisleistung" gibt den Prozentsatz der Einzelkernleistung der zugrunde liegenden physischen CPU an, die der Instanz zugewiesen ist. Beispielsweise hat eine t2.small-Instanz Zugriff auf 20% eines einzelnen Kerns eines Intel Xeon-Prozessors mit 2,5 GHz (bis zu 3,3 GHz im Turbo-Modus). Ein t2.medium hat Zugriff auf 40% der Leistung eines einzelnen Kerns, den Sie (oder genauer gesagt Ihr Betriebssystem) je nach Bedarf auf einem oder beiden Kernen verwenden können.

Die Spalte mit der Bezeichnung "CPU-Credits / Stunde" gibt die Rate der CPU-Credits an, die die T2-Instanz pro Stunde erhält. CPU-Credits sammeln sich an, wenn die Instanz ihre Basiszuweisung der CPU nicht verwendet, und werden ausgegeben, wenn die Instanz aktiv ist . Nicht verwendete CPU-Credits werden bis zu 24 Stunden gespeichert. [Hervorhebung von mir]


4
Großartig, also im Fall von T2.small zum Beispiel, das eine Basislinie von 20% CPU hat, wenn es unter 20% liegt, verdienen wir mit einer festen Rate, wenn es darüber liegt, geben wir mit einer variablen Rate gemäß den Dokumenten aus. aws.amazon.com/AWSEC2/latest/UserGuide/…
Dan Gravell

1
Genau - dieser transparente Ansatz (einschließlich geeigneter CloudWatch-Metriken ) ist eine ziemlich signifikante und wettbewerbsfähige Verbesserung gegenüber dem vorherigen Drosselungsmodell für die jeweils berüchtigten t1.microInstanzen.
Steffen Opel

@DanGravell, Sie verdienen mit einer variablen Rate "Wenn beispielsweise eine t2.small-Instanz eine CPU-Auslastung von 5% pro Stunde hätte, hätte sie 3 CPU-Credits (5% von 60 Minuten) verbraucht, aber sie hätte verdient 12 CPU-Credits während der Stunde, so dass die Differenz von 9 CPU-Credits zum CPU-Guthaben hinzugefügt wird "
Paul Draper

2

"Leerlauf" ist für Linux-Server im Allgemeinen notorisch schwer zu definieren. Im Allgemeinen sollte Leerlauf jede Zeit sein, die nicht für den Benutzermodus, den Systemmodus, den Modus mit niedriger Priorität, das E / A-Warten oder Interrupts aufgewendet wird - mit der besonderen Bestimmung, dass die E / A-Wartezeit bei der richtigen Art der Arbeitslast möglich ist in die Benutzermoduszeit konvertiert werden (für einen anderen Prozess).

Bei der Frage des Leerlaufs von AWS t2 gilt dies jedoch nicht. Es galt auch nicht für t1 (wegen "gestohlener" Zeit), aber selbst das erklärt nicht das Verhalten von t2. Ich bin auf Szenarien gestoßen, in denen die Leerlaufzeit (wie sowohl von Linux Top als auch von AWS CloudWatch gemeldet) weit über den dokumentierten Schwellenwerten liegt, die Instanz jedoch CPU-Credits verliert, anstatt sie zu erhalten. Ich glaube, dass dies ein Abrechnungsfehler auf der Seite von Amazon ist, und bis er behoben ist, wird es Zeitverschwendung sein, zu sehr zu verstehen, wie CPU-Auslastung und Leerlauf definiert werden.

Ich habe einige illustrative Diagramme in den Support-Foren von AWS veröffentlicht, in denen sie hoffentlich antworten werden. https://forums.aws.amazon.com/thread.jspa?messageID=568026#568026


Möglicherweise haben wir das gleiche Problem mit einer mittleren Instanz für die E-Mail-Verarbeitung. Credits wurden linear ohne Verwendung akkumuliert und jetzt bereitgestellt. Selbst bei maximaler Auslastung in 5-Minuten-Buckets von weniger als 1% gibt es einen allmählichen Rückgang. Es kann sein, dass der Leerlaufschwellenwert einen kleinen Bruchteil von 1% beträgt, aber das würde die Instanzen nicht nützlich machen. Antworten von Amazon auf Ihr Ticket und andere deuten darauf hin, dass die Berechnung der Credits nicht wie beabsichtigt funktioniert.
Nick

Die Mitarbeiter von Amazon haben eine Erklärung des Systems veröffentlicht, die komplexer zu sein scheint, als die Dokumentation vermuten lässt: Es gibt nicht nur ein maximales Guthaben für jeden T2-Instanztyp, sondern die vor 24 Stunden erworbenen Guthaben verfallen aus dem Guthaben. Das heißt, ein t2.small verdient 12 Credits pro Stunde, behält ein maximales Guthaben von 288 Credits bei, aber AUCH alle Credits, die er vor 24 Stunden verdient hat, werden vom Guthaben abgezogen. Dies bedeutet, dass Instanzen, die älter als 24 Stunden sind, schneller als erwartet Guthaben verlieren und das langfristige Gleichgewicht wahrscheinlich näher am Anfang als am Maximalwert liegt.
Osma

@osama danke für das Hinzufügen. Aus den Charts geht hervor, dass noch mehr dahinter steckt, aber es funktioniert im Moment für uns, worauf es ankommt :) Wir haben die durchschnittliche Belastung eines Mediums seit Freitag erhöht und beobachten, was jetzt passiert.
Nick

0

Das ist so etwas wie unten

Wenn Sie eine Mikroinstanz verwenden, die durchgehend mit maximal 10% Single Core ausgeführt wird. Angenommen, Ihr Server verbraucht 5% des einzelnen Kerns, sodass die verbleibenden 5% der Rechenleistung als Leerlauf betrachtet werden. Diese 5% bleiben nur 24 Stunden außerhalb des Kurses angesammelt. Wenn Sie nun diese Akkumulation haben und meinen, während Ihr Server nach Rechenleistung hungert, kann er sich diese akkumulierte Rechenleistung ausleihen. Für diese Rechenleistung haben sie ein ausgefallenes Wort namens CPU Credits verwendet.

Ich googelte und fand eine gute Erklärung in einem Blog http://themindtracks.com/amazon-launches-new-low-cost-ec2-instances-burstable-performance/

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.