Beeinträchtigt die CPU-Energieverwaltung die Serverleistung?

44

Ich habe ein einfaches Hand-Benchmarking auf unserem (Live-) Datenbankserver außerhalb der Stoßzeiten durchgeführt und festgestellt, dass Abfragen zu etwas unregelmäßigen Benchmark-Ergebnissen führten .

Ich hatte vor einiger Zeit den Energiesparplan "Ausgeglichen" für alle unsere Server aktiviert, da ich dachte, dass sie nicht annähernd ausgelastet sind und auf diese Weise Energie gespart werden kann.

Ich war davon ausgegangen, dass dies keine signifikanten, messbaren Auswirkungen auf die Leistung haben würde. Allerdings , wenn die CPU Energiesparfunktionen sind Auswirkungen auf typische Leistung - vor allem auf dem gemeinsam genutzten Datenbankserver - dann bin ich nicht sicher , ob es lohnt sich!

Ich war ein wenig überrascht, dass unsere Web-Schicht selbst bei 35-40% Last von 2,8 GHz bei 1,25 V auf 2,0 GHz bei 1,15 V herunter taktet.

Ich erwarte voll und ganz, dass das Down-Clocking Strom spart, aber dieser Ladezustand scheint mir hoch genug zu sein, dass er auf die volle Taktrate ansteigen sollte.

Unser 8-CPU-Datenbankserver hat eine Menge Verkehr, aber eine extrem niedrige CPU-Auslastung (nur aufgrund der Art unserer SQL-Abfragen - viele davon, aber wirklich einfache Abfragen). Es ist in der Regel bei 10% oder weniger sitzen. Ich gehe davon aus, dass es noch mehr Downclocking gab als der obige Screenshot. Als ich die Energieverwaltung auf "hohe Leistung" umstellte, konnte ich feststellen, dass sich mein einfacher SQL-Abfrage-Benchmark um etwa 20% verbesserte und von Lauf zu Lauf sehr konsistent wurde .

Ich glaube, ich dachte, dass die Energieverwaltung auf Servern mit geringer Auslastung eine Win-Win-Situation ist - kein Leistungsverlust und erhebliche Energieeinsparungen, da die CPU in den meisten Servern häufig die Nummer 1 oder die Nummer 2 der Energieverbraucher ist. Das scheint nicht der Fall zu sein; Wenn die CPU-Energieverwaltung aktiviert ist, werden Sie Leistungseinbußen hinnehmen, es sei denn, Ihr Server ist immer so stark ausgelastet, dass die Energieverwaltung sich selbst ausgeschaltet hat. Dieses Ergebnis hat mich überrascht.

Hat jemand andere Erfahrungen oder Empfehlungen für die CPU-Energieverwaltung für Server? Ist es etwas, das Sie auf Ihren Servern ein- oder ausschalten? Haben Sie viel Strom gespart? Haben Sie das Benchmarking ein- und ausgeschaltet?

Jeff Atwood
quelle
2
Ich hasse es, das zu sagen, aber Sie haben Ihre eigene Antwort gegeben. Sehen Sie die drei Blasen neben "Leistung" für den ausgeglichenen Modus und sechs für den Hochleistungsmodus? Es gibt den Unterschied :) Stromsparen wird hauptsächlich durch das Downclocking der CPU erreicht. Sie werden einen Performance-Hit davon sehen, auch wenn es unter Last wieder hochfahren kann.
Bill Weiss
Ja, aber "Ausgewogen" ist in Windows Server 2008 R2 standardmäßig aktiviert . Dies impliziert für mich, dass es bei einer typischen Verwendung, z. B. einem leicht ausgelasteten Server, keine signifikanten Leistungseinbußen geben sollte.
Jeff Atwood
4
Drei Blasen gegen sechs! Das sieht nach einem großen Unterschied aus! :)
Bill Weiss
1
Windows: Menschen seit 1985 niederwerfen.
Michael Graff

Antworten:

16

Bei Servern bin ich mir nicht sicher, aber das derzeitige Denken bei eingebetteten Geräten beschränkt sich nicht auf Schritte zwischen geringem Stromverbrauch und geringem Stromverbrauch, da die damit verbundene zusätzliche Zeit Ihre Energieeinsparungen verschlingt Die CPU-Auslastung wird tatsächlich so hoch wie möglich eingestellt, um den Job zu beenden und den Leerlauf bei geringer Leistung wieder aufzunehmen.

pjz
quelle
1
Ich bin damit einverstanden, dass dies auf einem Server so funktioniert.
Jeff Atwood
11

Ich habe immer jede Art von Energieverwaltung auf Servern deaktiviert. Ich bin neugierig auf das, was andere erlebt haben, aber ich bin immer davon ausgegangen, dass es immer eine gewisse Verzögerung geben wird, um die CPU auf 100% zu "steigern", und in einem Rechenzentrum, das eine solche Verzögerung einstellt ist inakzeptabel.

Die von Ihnen angegebenen Daten scheinen diese Annahme zu stützen. Daher habe ich keine spezifischen Tests durchgeführt, aber es scheint, dass Sie keine Energiespartechnologie in Windows oder im BIOS verwenden sollten. Ich schalte sogar die Einstellungen für das Ausschalten des Netzwerks und der PCI-Karte aus, um ultra-konservativ zu sein.

Dave Drager
quelle
8

Wie viel Strom wird dies tatsächlich sparen Sie :
Wenn Sie sich entscheiden , dass diese Funktion die Stabilität Ihrer Server gefährden könnten (ich habe Erfahrung mit diesem), dann könnten Sie an anderer Stelle für die Energieeinsparung suchen.

Ich würde versuchen herauszufinden, wie viel Energie dies für die Anzahl der Server, die Sie haben, einsparen könnte (obwohl Sie dies vielleicht bereits getan haben). Da es sich bei dem Diagramm, das Sie in Ihrer Antwort angegeben haben, um Prozentsätze handelt, sind die Einsparungen für Ihr Unternehmen möglicherweise sehr gering. Wenn Sie nicht über viele Server verfügen, ist dies möglicherweise nicht der Fall, und durch bewegungsaktivierte Lichter oder ähnliches in Ihrem Büro wird möglicherweise mehr Energie gespart (auch wenn dies nicht so marktfähig ist).

Ich erinnere mich, dass ich vor ein paar Jahren gelesen habe, dass eine der großen amerikanischen Autofirmen (vergessen Sie, welche) Druck hatte, die Abgasemissionen ihrer Autos zu ändern. Stattdessen zeigte das Unternehmen, dass es für einige Fabriken viel billiger wäre, wenn sie ihre Fabriken kappen würden, was zu weitaus mehr Emissionsersparnissen führen würde.

Datenträger nicht vergessen:
Möglicherweise möchten Sie auch überprüfen, ob diese Energiesparfunktion die Datenträger nicht herunterfährt, wenn sie nicht verwendet werden. Möglicherweise werden für eine Weile alle SQL-Abfrageergebnisse im RAM gespeichert, die Festplatte wird verwendet und in den Energiesparmodus versetzt (Sie sind sich nicht sicher, ob dies auch so funktioniert). Wenn dies passieren könnte, gäbe es eine große Leistungsstrafe, während sich alles wieder dreht.

Kyle Brandt
quelle
4
oh ja, das Herunterfahren der Festplatte ist auf Servern sehr riskant. Wir haben dies auf unserem NAS aktiviert und Brent Ozar (unser SQL / DBA-Experte) hat uns mitgeteilt, dass dies eine sehr schlechte Idee ist. Jeder Spin-up ist wie eine Lotterie, um zu sehen, ob das Laufwerk es tatsächlich zurück schafft :)
Jeff Atwood
Der "Balanced" -Modus spart mir 10 Watt im Leerlauf im Vergleich zum "High Performance" -Modus (~ 15,5 W gegenüber ~ 25,5 W bei einem Core i7 4790). Der ausgeglichene Modus unter Windows Server 2012 scheint jedoch nicht die maximale CPU-Taktrate zu erreichen, was die Leistung von Datenbankabfragen erheblich beeinträchtigt.
Ryan Anderson
8

Wenn die CPU-Energieverwaltung aktiviert ist, werden Sie Leistungseinbußen hinnehmen, es sei denn, Ihr Server ist immer so stark ausgelastet, dass die Energieverwaltung sich selbst ausgeschaltet hat. Dieses Ergebnis hat mich überrascht.

Vorwort: Mit SpeedStep mache ich ein paar Sprünge / Verallgemeinerungen zu Intel Xeons und ihrer Stromsparfunktion. In Bezug auf die Intel Xeon " Yorkfield " 45-nm-CPUs scheinen die Enhanced Intel SpeedStep-Technologie (EIST) und der Enhanced Halt State (C1E) der eigentliche Schuldige zu sein. Ich stimme Ihrer Aussage zu, dass das Einschalten solcher Energieverwaltungsfunktionen zur Energieeinsparung beiträgt. Wenn die CPUs jedoch die Energie unter Last benötigen, kehrt das System zu den normalen Einstellungen für die Spannungstaktgeschwindigkeit zurück. Es scheint, dass EIST und C1E einige Nebenwirkungen haben, die bei Verwendung von entweder / oder Option im BIOS nicht intuitiv impliziert werden. Nach dem Durchsuchen zahlreicher Übertaktungswebsites scheinen diese beiden Einstellungen im BIOS ziemlich frustrierend zu sein.

Von http://www.overclock.net/intel-cpus/376099-speedstep-guide-why-does-my-processor.html :

C1E (Enhanced Halt State) : C1E ist die einfachere der beiden Komponenten. Es kann im BIOS aktiviert oder deaktiviert werden und funktioniert unabhängig vom Betriebssystem. C1E verfügt über zwei Konfigurationen: Leerlauf und Laden. Wenn die CPU-Auslastung relativ niedrig ist, senkt diese Funktion den Multiplikator Ihres Prozessors auf die niedrigste Einstellung (normalerweise 6x) und senkt den vCore geringfügig. Während einer CPU-intensiven Anwendung wird der Multiplikator auf seinen Maximalwert angehoben und vCore zum Ausgleich geringfügig angehoben. In unserem Beispiel veranlasst C1E, dass Ihr Prozessor mit dem 6-fachen oder dem 9-fachen FSB ausgeführt wird .

EIST (Enhanced Intel SpeedStep Technology) : Dies ist eine sehr robuste Funktion mit einer Vielzahl von Energiesparfunktionen. Wie der einfachere Cousin kann EIST sowohl die Spannung Ihrer CPU als auch den Multiplikator beeinflussen - es verfügt jedoch über viel mehr Konfigurationsebenen. Anstelle einer einfachen "langsamen oder schnellen" Einstellung kann SpeedStep alle verfügbaren Multiplikatoren verwenden. In unserem Beispiel ermöglicht EIST Ihrem Prozessor, mit einem Multiplikator von 6, 7, 8 oder 9 zu arbeiten , und wählt den zu verwendenden aus, je nachdem, wie stark Ihre CPU beansprucht wird. EIST wird von Windows gesteuert und verwendet die verschiedenen "Energieschemas", die Sie möglicherweise in Ihrer Systemsteuerung gesehen haben.

Während Ihre Leistungseinstellungen für „High Performance“ eingestellt ist wahrscheinlich die beste Einstellung für einen Datenbankserver, ich bin ziemlich sicher , entweder EIST und / oder C1E verursachte die CPUs unter führen , obwohl sie sollten weg wieder in den normalen Einstellungen haben , wenn die Last wesentlich erhöht. Die große Einschränkung für mich scheint zu sein: "Was ist eine erhebliche Last?" Laut der Website overclockers.net behauptet EIST, diese "Energieschema" -Einstellungen zu verwenden, um Ihre CPU-Einstellungen zu manipulieren. Es gibt jedoch keinen Hinweis auf den Prozentsatz der Last oder darauf, wie lange gewusst werden muss, wann die CPUs wieder auf normale Spannung geschaltet werden müssen.

Auch hier bin ich kein Experte auf dem Gebiet der Intel-CPUs, aber ich würde wetten, dass Sie durch Anpassen dieser beiden Einstellungen die gewünschte Energieeinsparung und die Leistung erzielen, die Sie erzielen sollten , aber bei der Einstellung "Maximale Leistung" bleiben ist genauso effektiv, ohne dass ein Neustart erforderlich ist.

osij2is
quelle
5

Die schnelle Antwort lautet: Natürlich beeinträchtigt das Energiesparen die Leistung.

Die längere Antwort macht keinen Spaß. Probieren Sie eine Einstellung aus, testen Sie die Leistung und entscheiden Sie, womit Sie leben können.

Anwendungen und Systeme sind so kompliziert, dass es hier keine Antwort gibt, außer "Ja, Reaktionszeit und andere Systemgeschwindigkeiten werden beeinflusst". Wenn es so viel langsamer ist als die Festplatte oder das Netzwerk, dann haben Sie die Idee. In der Realität testen.

Michael Graff
quelle
4

Ich versuche immer, so viele Server wie möglich zu VMen, aber wo ich einen Server "bare-metal" machen muss, ist es normalerweise so, wie ich es brauche oder will, um eine absolut konsistente Leistung zu erzielen. Deshalb schalte ich für diese geschäftskritischen Maschinen NIEMALS Stromsparmaßnahmen aus genau den Gründen ein, die Sie erleben.

*** Knall-los-mein-grünes-Zeugnis *

Chopper3
quelle
3

Ein paar Dinge:

  1. Überprüfen Sie im BIOS, ob die Energieverwaltung unter der Kontrolle des Betriebssystems steht. Möglicherweise wird es von der Firmware verwaltet und verwendet daher ein dummes, nicht optimales Prozessor-Power-Management.

  2. Überprüfen Sie, ob möglicherweise fehlende Hotfixes für die Energieverwaltung vorhanden sind. Damals, als Vista / Server 2008 herauskam, gab es einige bemerkenswerte.

  3. Überprüfen Sie die detaillierte Konfiguration für Balanced. Möglicherweise führt eine andere Energiesparfunktion zu einer Leistungsminderung. Theoretisch sollte der Leistungseinbruch durch EIST vernachlässigbar sein. Andererseits hat eine SQL-Datenbank einen eindeutigen Footprint und es ist denkbar, dass er durch das Prozessor-Power-Management überproportional beeinflusst wird.

Bigbio2002
quelle
1
Oh
Mann
2

Einige Informationen von Microsoft (Word Doc Format, leider)

Verbessern Sie die Energieeffizienz und den Stromverbrauch mit Windows Server 2008 R2

Windows Server 2008 ist insgesamt energieeffizienter als sein Vorgänger Windows Server 2003. Standardmäßig wird in Windows Server 2008 der Energiesparplan „Ausgewogen“ ausgeführt , mit dem die Leistung möglichst hoch und gleichzeitig Energie gespart werden soll. Dies bedeutet, dass Windows Server 2008 weniger Strom verbraucht als eine Basisinstallation von Windows Server 2003. Da der ausgeglichene Modus die sofort verfügbare Energieeffizienz maximiert, empfiehlt Microsoft nachdrücklich, die Standardeinstellungen für den ausgeglichenen Modus zu belassen in den meisten Fällen.

Windows Server 2008 enthält zwei zusätzliche Standardmodi, "Energiesparmodus" und "Hohe Leistung", die unterschiedliche Leistungs- und Leistungsziele haben und in bestimmten Situationen geeignet sein können. Der Modus „Hohe Leistung“ ist möglicherweise für Server geeignet, die mit einer sehr hohen Auslastung ausgeführt werden und unabhängig von den Stromkosten eine maximale Leistung erzielen müssen. Der Energiesparmodus kann für wenig ausgelastete Server verwendet werden, die mehr Leistung bieten, als sie wirklich benötigen. Die Verwendung von „Stromsparmodus“ in dieser Situation kann zu zusätzlichen Energieeinsparungen führen.

Diese speziellen Energiesparfunktionen der CPU auf Hardware-Ebene sind natürlich unter allen Betriebssystemen gleich. Es ist nur eine Frage, ob Sie sie einschalten oder nicht.

Das Diagramm zur Energieeinsparung ohne CPU-Energieverwaltung im Vergleich zur CPU-Energieverwaltung:

Wir sind uns darüber im Klaren, dass die CPU-Energieverwaltung bei hoher Auslastung automatisch deaktiviert wird (und dieses Diagramm zeigt dies). Was mir jedoch nicht klar ist, ist, ob sich bei geringer Auslastung Auswirkungen auf die Gesamtleistung des Servers ergeben, z. B. die Bearbeitungszeit für einfache SQL Server-Abfragen.

Jeff Atwood
quelle
Es scheint ein bisschen naiv zu sein, an ein Whitepaper von Microsoft über eines ihrer eigenen Produkte zu glauben. Die Ziele des Merkmals mögen richtig sein, aber die tatsächlichen Zahlen können und werden variieren.
gekkz
1
Glaubst du nicht was? Ist "Ausgewogen" standardmäßig aktiviert ? Das ist eine Tatsache. Installieren Sie Windows Server 2008 R2, wenn Sie mir nicht glauben.
Jeff Atwood
@ Jeff Atwood: Ich denke, er hätte die tatsächlichen Energieeinsparungsergebnisse des Graphen gemeint. Es könnte in ihrem Interesse liegen, die Statistiken so darzustellen, dass aus Marketinggründen die größtmögliche Energieeinsparung erzielt wird. Zum Beispiel scheint der Prozentsatz der maximalen Wattzahl etwas seltsam, warum nicht einfach die tatsächlich gesparten Wattzahlen eingeben? Als Haftungsausschluss könnte es jedoch einen sehr guten Grund geben, warum sie sich für diese Metrik entschieden haben (wenn das überhaupt das richtige Wort ist).
Kyle Brandt
Die Energieeinsparung (bescheidene 10% gemäß Grafik) durch die Aktivierung der CPU-Energieverwaltung ist unbestritten. Sie können dies mit einem Kill-a-Watt-System und Ihrem eigenen Heim-PC überprüfen. Es ist tatsächlich höher auf einem Heim-PC, da sie dazu neigen, weniger Laufwerke, Speicher, RAID-Controller usw. zu haben, die Strom verbrauchen.
Jeff Atwood
@KyleBrandt - Ich vermute, dass Prozent der maximalen Leistung verwendet wurden, um die Ergebnisse allgemeiner zu gestalten. Auf diese Weise wenden Sie die Ergebnisse auf Ihre Maschine an (die bei voller Leistung 400 W im Vergleich zu einem XXX-Watt-Server im Papier verbraucht).
EricB
0

Sie sollten niemals auf die Windows-Einstellungen oder den Bios Speedstep zurückgreifen, der auf Intel-Prozessoren verfügbar ist, und es gibt auch ein AMD-Äquivalent. Dies kann zu Problemen führen, und ich habe solche Probleme gesehen, bei denen die CPU-Uhr mit Speedstep unregelmäßig auf und ab sprang, obwohl die CPU-Ressourcennutzung konsistent war.

Wenn Sie grüner sein wollen und Strom sparen, verwendet Low - Power - Prozessoren, mit den L - Zeichen vor dem Modellnamen bezeichnet, wie L 54XX - Serie und L 55XX - Serie von Intel.

BEARBEITEN: Es tut mir leid, wenn ich den Eindruck habe, dass diese Funktion immer versagt, ich wurde einfach davon verbrannt, und in einem missionskritischen System kann ich so etwas nicht passieren, also versuche ich einfach zu bleiben weg davon.

gekkz
quelle
Ich glaube nicht, dass dies Probleme verursacht, oder dass es in fast allen modernen Betriebssystemen und CPUs standardmäßig nicht aktiviert ist. Sie denken vielleicht vor ein paar Jahren an viel ältere Varianten von CPU-Energiespartechnologien?
Jeff Atwood
Es scheint, dass Sie davon ausgehen, dass alles, was eine Funktion ist, ordnungsgemäß funktioniert. Ich spreche aus erster Hand über Erfahrungen mit einem dualen E5520-Setup, bei dem dieses Problem auf zwei verschiedenen Servern auftrat.
gekkz
@gekkz Ich glaube nicht, dass jemand sagt, dass es unmöglich ist, Probleme zu verursachen, aber Ihre Antwort legt nahe, dass es immer oder fast immer Probleme verursacht, was einfach falsch ist. Wenn dies der Fall wäre, würden Tausende (Millionen?) Von Servern Probleme haben, die derzeit hierdurch verursacht werden.
Phoebus
0

Wenn es sich um die Leistung eines Servers handelt, gibt es verschiedene Betrachtungsweisen. Es gibt die offensichtliche Reaktionszeit (ähnlich der Netzwerklatenz) und den Durchsatz (ähnlich der Netzwerkbandbreite).

In einigen Versionen von Windows Server sind die Einstellungen für die ausgeglichene Stromversorgung standardmäßig aktiviert. Wie Jeff betonte. Windows 2008 R2 ist einer von ihnen. Heutzutage sind nur noch wenige CPUs Single-Core-Prozessoren. Diese Erklärung gilt daher für fast alle Windows-Server, auf die Sie stoßen, mit Ausnahme von Single-Core-VMs. (mehr dazu später).

Wenn der Energiesparplan aktiv ist, versucht die CPU, den Stromverbrauch zu drosseln. Dies geschieht durch Deaktivieren der Hälfte der CPU-Kerne in einem Prozess, der als "Parken" bezeichnet wird. Es steht jeweils nur die Hälfte der CPUs zur Verfügung, sodass in verkehrsarmen Zeiten weniger Strom verbraucht wird. Dies ist an und für sich kein Problem.

Was ein Problem ist, ist die Tatsache, dass Sie, wenn die CPUs nicht geparkt sind, die für das System verfügbaren CPU-Zyklen verdoppelt und die Belastung des Systems plötzlich aus dem Gleichgewicht gebracht haben, beispielsweise von 70% Auslastung auf 35% Auslastung. Das System prüft dies und denkt, nachdem der Datenverkehr verarbeitet wurde: "Hey, ich sollte dies ein wenig zurückwählen, um Strom zu sparen." Und so ist es auch.

Hier ist der schlechte Teil. Um eine ungleichmäßige Verteilung von Wärme und Strom in den CPU-Kernen zu verhindern, werden die zuletzt nicht geparkten CPUs tendenziell geparkt. Damit dies ordnungsgemäß funktioniert, muss die CPU alle Daten aus den CPU-Registern (L1-, L2- und L3-Cache) an einen anderen Speicherort (höchstwahrscheinlich Hauptspeicher) übertragen.

Nehmen wir als hypothetisches Beispiel an, Sie haben eine 8-Kern-CPU mit C1-C8.

  • Aktiv: C1, C3, C5, C7
  • Geparkt: C2, C4, C6, C8

In diesem Fall werden alle für einige Zeit aktiv und werden dann vom System wie folgt geparkt:

  • Aktiv: C2, C4, C6, C8
  • Geparkt: C1, C3, C5, C7

Dabei ist jedoch ein erheblicher Overhead mit dem Leeren aller Daten aus dem L1-L3-Cache verbunden, damit bei Programmen, die aus der CPU-Pipeline geleert wurden, keine seltsamen Fehler auftreten.

Es gibt wahrscheinlich einen offiziellen Namen dafür, aber ich erkläre es gerne als CPU-Thrashing. Grundsätzlich verbringen die Prozessoren mehr Zeit mit der internen Verschiebung von Daten als mit der Bearbeitung von Arbeitsanforderungen.

Wenn Sie eine Anwendung haben, deren Anforderungen eine geringe Latenzzeit erfordern, müssen Sie die Einstellungen für die ausgeglichene Stromversorgung deaktivieren. Wenn Sie sich nicht sicher sind, ob dies ein Problem ist, gehen Sie wie folgt vor:

  1. Öffne den "Task Manager"
  2. Klicken Sie auf die Registerkarte "Leistung".
  3. Klicken Sie auf "Open Resource Monitor"
  4. Wählen Sie das Register "CPU"
  5. Schauen Sie sich rechts im Fenster die verschiedenen CPUs an.

Wenn Sie sehen, dass einer von ihnen geparkt wird, werden Sie feststellen, dass die Hälfte von ihnen zu einem bestimmten Zeitpunkt geparkt wird, alle werden angezündet, und die andere Hälfte wird geparkt. Es wechselt hin und her. Somit sind die System-CPUs überlastet.

Virtuelle Maschinen: Dieses Problem ist noch schlimmer, wenn Sie eine virtuelle Maschine ausführen, da der zusätzliche Aufwand für den Hypervisor besteht. Im Allgemeinen muss für die Ausführung einer VM auf der Hardware zu jedem Zeitpunkt ein Zeitschlitz für jeden der Kerne verfügbar sein.

Wenn Sie über eine Hardware mit 16 Kernen verfügen, können Sie VMs mit mehr als 16 Gesamtkernen ausführen. Für jede Zeitscheibe sind jedoch nur bis zu 16 virtuelle CPUs für diese Zeitscheibe zulässig, und der Hypervisor muss für alle Kerne einer VM geeignet sein in diese Zeitscheibe. Es kann nicht über mehrere Zeitscheiben verteilt werden. (Eine Zeitscheibe ist im Wesentlichen eine Menge von X CPU-Zyklen. Sie kann 1000 oder 100.000 Zyklen betragen.)

Bsp .: 16 Core-Hardware mit 8 VMs. 6 haben 4 virtuelle CPUs (4C) und 2 haben 8 virtuelle CPUs (8C).

Zeitscheibe 1: 4x4C Zeitscheibe 2: 2x8C Zeitscheibe 3: 2x4C + 1x8C Zeitscheibe 4: 1x8C + 2x4C

Was der Hypervisor nicht tun kann, ist die Hälfte der Zuteilung für eine Zeitscheibe auf die ersten 4 CPUs einer 8-vCPU-VM aufzuteilen und dann in der nächsten Zeitscheibe den Rest auf die anderen 4 vCPUs dieser VM aufzuteilen. Es ist alles oder nichts in einer Zeitscheibe.

Wenn Sie Microsoft Hyper-V verwenden, können die Einstellungen für die Stromversorgungssteuerung im Host-Betriebssystem aktiviert werden. Dies bedeutet, dass sie auf die Client-Systeme übertragen werden und sich auch auf diese auswirken.

Sobald Sie sehen, wie dies funktioniert, können Sie leicht erkennen, wie die Verwendung der Einstellungen für die ausgeglichene Stromregelung zu Leistungsproblemen und zu langsamen Servern führt. Eines der zugrunde liegenden Probleme besteht darin, dass die eingehende Anforderung warten muss, bis der Vorgang zum Parken / Entparken der CPU abgeschlossen ist, bevor der Server auf die eingehende Anforderung antworten kann, unabhängig davon, ob es sich um eine Datenbankabfrage, eine Webserveranforderung oder etwas anderes handelt .

Manchmal parkt oder entparkt das System die CPUs während einer Anfrage. In diesen Fällen startet die Anforderung in der CPU-Pipeline, wird aus dieser entfernt und ein anderer CPU-Kern übernimmt den Prozess von dort. Wenn es sich um eine ausreichend umfangreiche Anforderung handelt, kann dies im Verlauf der Anforderung mehrmals vorkommen und eine 5-Sekunden-Datenbankabfrage in eine 15-Sekunden-Datenbankabfrage ändern.

Das größte Problem bei der Verwendung von Balanced Power ist, dass sich die Systeme langsamer anfühlen, wenn Sie auf nahezu jede Ihrer Anforderungen reagieren.

Mike Taber
quelle