Analysieren von CPU-Leistungsindikatoren – SouToub


Windows Server 2012 R2Für einen Spezialisten mit wenig Erfahrung verursacht die Analyse von CPU-Leistungsindikatoren wie jede andere häufig große Schwierigkeiten, und dies ist nicht überraschendunter Berücksichtigung der Vielfalt der Zähler. In diesem Artikel werde ich versuchen, die Hauptfälle zu betrachten, auf die ein durchschnittlicher Administrator stoßen kann, sowie die Entscheidungsalgorithmen zu erläutern.


Wenn Sie an Windows-Leistungsindikatoren interessiert sind, empfehlen wir Ihnen, den Hauptthemenartikel – Leistungsindikatoren – zu lesen.


Analyse der CPU-Leistungsindikatoren

Zunächst möchte ich einen Punkt klarstellen: Es gibt zwei Gruppen von Prozessorleistungsindikatoren, dies sind Gruppen Prozessor und Prozessorinformationen (Prozessorinformationen)… Beide haben unterschiedliche Zähler (lesen Sie mehr im Artikel Prozessorleistungszähler), aber ich werde nur diejenigen berücksichtigen, die in beiden Gruppen vorhanden sind. Das heißt, Sie können eine beliebige Gruppe Ihrer Wahl verwenden.

Im ersten Fall der vollständige Name des Messgeräts (zum Beispiel % Prozessorzeit) wird aussehen wie:

Prozessorinformationen (_Total) % Prozessorzeit (Russische Version – Prozessorinformationen (_Total) % Prozessorzeit)

im zweiten Fall:

Prozessor (_Gesamt) % Prozessorzeit (Russische Version – P.Prozessor (_Total) % CPU-Auslastung)

Also fangen wir an.

Der erste Schritt besteht darin, selbst zu bestimmen, auf welche Zähler Sie zuerst achten müssen. Bei den Hauptindikatoren für die CPU-Leistung ist der Hauptzähler % Prozessorzeit… Aus seinem Zeugnis geht hervor, dass Sie nach dem Problem suchen müssen. Gleichzeitig wird nach meinen Beobachtungen eine durchschnittliche Belastung von bis zu 60% als normal angesehen, eine Belastung von 85% und mehr ist bereits ein großes Problem. In Anbetracht der Tatsache, dass selbst bei Stresstests die CPU-Auslastung im Bereich von 95% liegt, sind 85% für Server in der Produktion eine kritische Belastung.

% Prozessorzeitrate – bis zu 60%, kritisch – 85% und mehr

1. Wir schauen uns die Messwerte an % Prozessorzeit Nehmen wir an, in Ihrem Fall ist die CPU-Auslastung nahezu kritisch und Sie müssen etwas unternehmen. Es besteht keine Notwendigkeit, sich zu beeilen, um die Prozessorleistung zu erhöhen. Schauen Sie sich zuerst andere Zähler an und ziehen Sie erst danach Schlussfolgerungen.

2. Um sicherzustellen, dass die Messwerte für alle Fälle korrekt sind % ProzessorzeitÖffnen Sie die Theke % Wartezeit und sehen, welche Durchschnittswerte es hat. Dieser Zähler zeigt den% CPU-Leerlauf an, dh den Prozentsatz der Zeit, in der Ihr Prozessor im Leerlauf war. Nach der Logik sollten die Messwerte dieses Zählers = 100 – sein % Prozessorzeit.

Die% Leerlaufzeitrate ist umgekehrt proportional zur% Prozessorzeit und beträgt mindestens 40%, der kritische Wert liegt unter 15%

MIT % Wartezeit alles ist in ordnung, aber es wurde nicht einfacher für uns, lass uns weitermachen.

Es ist Zeit zu sehen, was die Zähler uns zeigen werden % Privilegierte Zeit und % Benutzerzeit.

3. Wir schauen auf die Theke % Privilegierte Zeit – Arbeitszeit im privilegierten Modus – und wenn sie im Durchschnitt über 10% liegt, ist dies ein Grund zum Nachdenken.

Die% Privileged Time-Rate beträgt <10%, die Werte u200b u200bof> 20% weisen auf Probleme hin

Es sei darauf hingewiesen, dass die Norm für % Benutzerzeit Es ist schwierig zu bestimmen, da dieser Zähler die Nutzlast angibt, die Ihr Server ausführt. Grob gesagt zeigt der Zähler den Prozentsatz der CPU-Zeit an, die für die Verarbeitung von Daten aus den von Ihnen ausgeführten Anwendungen aufgewendet wird. In Anbetracht der Tatsache, dass % Prozessorzeit = % Benutzerzeit +% Privilegierte Zeit, dann idealerweise die Werte % Benutzerzeit sollte anstreben % Prozessorzeit, und Teile % Privilegierte Zeit nach 0 streben. In der Realität gibt es jedoch im Idealfall keine Möglichkeit, die vom Betriebssystemkern erzeugte Last zu entfernen (sie macht nur% der Betriebszeit im privilegierten Modus aus).

Annehmen % Privilegierte Zeit zeigt wirklich obszöne Werte und wir müssen etwas dagegen tun.

4. Es ist Zeit, sich an die Theke zu wenden % Unterbrechungszeit… Es zeigt den Prozentsatz der Zeit an, die die CPU für die Interrupt-Behandlung benötigt. Idealerweise sollte der Wert gegen 0 tendieren, aber in der Praxis ist dies selten der Fall. Meistens liegen die Normalwerte unter 1%.

Norm% Unterbrechungszeit – <1%, kritische Werte -> 5%

Wenn Sie abnormale Zählerstände bemerken % UnterbrechungszeitDies kann auf ein Hardwareproblem hinweisen, das dazu führt, dass eine große Anzahl von Interrupts generiert wird. Im Allgemeinen wird empfohlen, die Zählerwerte unmittelbar nach dem Ändern der Hardwarekonfiguration zu überwachen und im Falle einer abnormalen Erhöhung der Anzahl der Interrupts einige Maßnahmen zu ergreifen (wählen Sie beispielsweise die Treiber aus, mit denen sich das Gerät am besten verhält). Um Ihre Beobachtungen zu sichern, können Sie auf den Zähler achten Interrupts / Sek… Es zeigt die absoluten Werte der Interrupts pro Sekunde.

Die Interrupts / Sek. Rate ist für jeden Prozessor unterschiedlich. Die optimalen Werte müssen empirisch zusammen mit den% Interrupt Time-Daten ermittelt werden

Angenommen, das Problem lag in der kürzlich installierten Netzwerkkarte. Sie haben die Treiber installiert und das Problem ist von selbst und den Werten verschwunden % Prozessorzeit kehrte in den normalen Bereich zurück. Was wäre, wenn Sie anfangs eine andere Situation hätten? Ich werde Ihnen über die Ausnahmen aus dem obigen Szenario berichten.

Ausnahmen von der Regel

1.a. Was tun, wenn der Zählerstand abgelesen wird? % Prozessorzeit Ideal (stabil <60%), aber Benutzer beschweren sich immer noch über langsame Verarbeitung. Das erste und offensichtlichste Problem könnte der Engpass einer anderen Serverkomponente sein:

  • Mangel an RAM;
  • unzureichende Leistung des Festplattensubsystems;
  • kleine Bandbreite der Netzwerkkarte.

In diesen Fällen müssen Sie sich auf die Leistungsindikatoren anderer Gruppen beziehen, und im Rahmen dieses Artikels werde ich diese Szenarien nicht berücksichtigen (schließlich geht es hier um den Prozessor, nicht um Festplatten oder RAM). Selbst wenn es keine Probleme mit RAM, Festplatte und Netzwerk gibt, kann der Prozessor dennoch der Engpass sein! Aber wie soll man graben? Schauen Sie sich zunächst die Zählerstände an % C3 Zeit… Es spricht über den Prozentsatz der Zeit, die die CPU in einem der Niedrigleistungszustände verbracht hat, nämlich im C3-Zustand (tatsächlich gibt es deutlich mehr ).

Normalerweise sollte die CPU nicht in den C3-Zustand wechseln, dh die% C3-Zeit sollte = 0 sein

Der Zähler unterstützt Sie bei Ihren Beobachtungen. C3 Übergänge / Sekzeigt die absoluten Werte der Übergänge in den C3-Zustand pro Sekunde. Warum C3? Tatsache ist, dass ab C3 das Verlassen der Zustände viel Zeit in Anspruch nimmt und die CPU einfach nicht das tun kann, was sie sollte. Es gibt jedoch auch Probleme mit C1, C2. Es gibt eine Meinung dass der Betrieb des bekannten 1C Enterprise-Servers durch den Übergang in einen Zustand mit geringem Stromverbrauch stark beeinträchtigt werden kann, und es wird empfohlen, diese Funktion auf BIOS-Ebene Ihres Servers vollständig zu deaktivieren (obwohl die Empfehlung C1E betrifft). .

Kontinuierliche Zählerüberwachung % C1-Zeit,% C2-Zeit, C1-Übergänge / Sek., C2-Übergänge / Sek., C3-Übergänge / Sek Meiner Meinung nach überflüssig, aber in regelmäßigen Abständen lohnt es sich, auf sie zu achten.

1.b. Ähnlich ist die Situation – Zählerstände % Prozessorzeit Ideal (stabil <60%), aber Benutzer beschweren sich immer noch über die langsame Leistung der Serveranwendung. Eine unzureichende Prozessorleistung zur Behandlung von Spitzen kann ebenfalls ein Problem sein. In 95% der Fälle kann Ihre CPU um 10-15% ausgelastet sein. In den verbleibenden 5% der Fälle gibt es Anforderungen, die Prozessorleistung erfordern, und die CPU verarbeitet sie nicht schnell genug.

Der Grund kann veraltete Hardware sein (langsamer Datenbus, kleiner Prozessor-Cache usw.). In einigen Unternehmen können Server jahrzehntelang arbeiten, aber die Stunde wird kommen, in der der Server müde wird und es nicht möglich ist, seine Funktionen zu aktualisieren, nicht weil kein Geld vorhanden ist, sondern weil Ersatzteile dafür nicht für a hergestellt wurden lange Zeit. Führen Sie einen geplanten Austausch Ihrer “Eimer” durch, Genossen.

3.a. Wir haben eine Norm % Privilegierte Zeit, aber konstant hohe Werte % Prozessorzeit… Dies ist ein klassischer Fall von mangelnder Verarbeitungsleistung für die normale Ausführung von Aufgaben, die dem Server zugewiesen sind. Die einzige Empfehlung besteht darin, die Anzahl der vCPUs (bei virtuellen Maschinen) zu erhöhen oder die Serverrollen auf andere Hardware zu übertragen / die vorhandene zu aktualisieren.

Möglicherweise wurden die häufigsten Szenarien oben betrachtet, und dieser Artikel kann vervollständigt werden. Teilen Sie Ihre Erfahrungen in den Kommentaren.

Kommentare bereitgestellt von HyperComments

Leave a Reply

Your email address will not be published. Required fields are marked *