Für den Administrator, Performance

Performanceanalyse für CONZEPT 16-Anwendungen

Wie ich bereits in meinem letzten Artikel Performanceanalyse unter Windows schon erwähnte, werden mit Hilfe einer Performanceanalyse Leistungsengpässe ermittelt. In diesem Artikel werde ich erläutern, welche Engpässe erfahrungsgemäß am häufigsten auftreten und zu einem Performanceverlust der CONZEPT 16-Anwendung führen können.


Für die Performanceanalyse einer CONZEPT 16-Anwendung sind generell vier Bereiche wichtig:

Grundsätzlich empfiehlt es sich bei einer Performance-Analyse mit der Speicherauslastung zu beginnen. Das liegt daran, dass sich Engpässe im Hauptspeicher auch auf andere Systembereiche auswirken können. Meist haben aber Engpässe in anderen Bereichen keine Auswirkung auf den Arbeitsspeicher.

Beispiel:

Ist zu wenig Arbeitsspeicher vorhanden, hat dies zur Folge, dass Daten ausgelagert werden müssen. Das Auslagern ist eine zusätzliche Arbeit, die auch zu einer höheren Prozessorauslastung führt. Weiterhin entstehen durch das Auslagern mehr Festplattenzugriffe. Würde nun zuerst der Festplattenzugriff analysiert werden, kann man zu dem Schluss kommen, dass es hier einen Engpass gibt und man eine schnellere Festplatte benötigt. Durch eine schnellere Festplatte oder SSD kann der Engpass zunächst behoben werden, die eigentliche Ursache für das Problem besteht aber weiterhin.


Die folgenden Indikatoren sind Vorschläge und beziehen sich alle auf das von Windows bereitgestellte Tool Leistungsüberwachung (perfmon.exe). Je nach verwendeter Windows-Version kann der Name des Indikators oder der Komponente abweichen. Die Indikatoren werden wie folgt angegeben: Komponente\Indikator.


Speicherengpass

Ein Speicherengpass kommt meistens dann zu Stande, wenn nicht genügend Arbeitsspeicher (RAM) vorhanden ist oder es zu einem Speicherleck (Memory Leak) kommt. Ein Speicherleck kommt immer dann zu Stande, wenn ein Prozess Hauptspeicher reserviert, diesen aber nicht benutzt oder wieder freigibt. Zum Analysieren eines potenziellen Speicherengpasses haben sich folgende Indikatoren als praktisch erwiesen:

Speicher\Zugesicherte verwendete Bytes (%)

Dieser Indikator gibt an, wie viel des virtuellen Speichers verwendet wird. Liegt dieser Wert über 80%, sollte der Hauptspeicher erweitert werden.

Speicher\Verfügbare MB (%)

Dieser Indikator gibt an, wie viel Arbeitsspeicher zum Ausführen eines Prozesses bereit steht. Sollte dieser Wert unter 5% fallen, sollte auch hier der Hauptspeicher erweitert werden.

Speicher\Nicht-Auslagerungsseiten (Bytes)

Dieser Indikator misst die Größe des nicht ausgelagerten Pools in Byte. Im nicht ausgelagerten Pool befinden sich Objekte, die während ihrer Verwendung nicht auf den Datenträger geschrieben werden können, sondern im Hauptspeicher bleiben müssen. Das Limit dieses Wertes liegt bei 75% des RAM’s, bei 32-Bit Systemen aber höchstens 2 GB (bei Windows XP und Windows Server 2003 höchstens 256 MB), bei 64-Bit Systemen höchstens 128 GB. Werte größer als 80% des Limits sollten nicht erreicht werden und weisen auf ein Speicherproblem hin.

Speicher\Auslagerungsseiten (Bytes)

Dieser Indikator misst die Größe des ausgelagerten Pools in Byte. Im ausgelagerten Pool befinden sich Objekte, die nach Ihrer Verwendung auf den Datenträger geschrieben werden können. Das Limit dieses Wertes hängt immer vom System ab, jedoch gilt auch hier ein maximal Limit von 2 GB bei 32-Bit Systemen (bei Windows XP höchstens 490 MB, bei Windows Server 2003 höchstens 530 MB) und 128 GB bei 64-Bit Systemen. Werte größer als 80% des Limits sollten nicht erreicht werden und weisen auf ein Speicherproblem hin.

Speicher\Seiten pro Sekunde

Dieser Indikator misst, wie viele Seiten pro Sekunde auf den Datenträger geschrieben oder vom Datenträger gelesen werden. Im Idealfall ist dieser Wert immer 0 und bedeutet, dass keine Daten ausgelagert werden. Ist ein Speicherleck vorhanden, kann dadurch ein übermäßiges Auslagern entstehen. Dies würde sich bemerkbar machen, wenn der Wert größer 1000 ist.


Prozessorengpass

Ein Engpass des Prozessors entsteht meist dann, wenn eben dieser überlastet ist. Dafür kann es unterschiedliche Gründe geben. Folgende Indikatoren helfen dabei, diese zu ermitteln:

Prozessor\Prozessorzeit (%)

Dieser Indikator misst den prozentualen Anteil der Zeit die der Prozessor verwendet um einen Thread, der sich nicht im Leerlauf befindet, auszuführen. Sollte dieser Wert längerfristig größer als 85% sein, sollte über einen schnelleren Prozessor oder mehr Prozessorkerne nachgedacht werden.

Prozessor\Interruptzeit (%)

Dieser Indikator gibt an, wie viel Zeit der Prozessor zum Empfangen und Verarbeiten von Hardwareunterbrechungen benötigt. Ein Wert größer als 15%, weist auf ein Hardware- oder Treiberproblem hin.

System\Prozessor-Warteschlangenlänge

Dieser Indikator gibt an, wie viele Threads sich in der Prozessorwarteschlange befinden. Sollte dieser Wert über einen längeren Zeitraum größer als die doppelte Anzahl der Prozessorkerne sein, dann besitzt der Prozessor nicht genügend Leistung.


Festplattenengpass

Ein Festplattenengpass ist besonders unangenehm, da er sich direkt auf die Datenträgergeschwindigkeit auswirkt und somit die Gesamtleistung des Servers erheblich beeinträchtigt. Um einen potenziellen Festplattenengpass zu analysieren bieten sich folgende Indikatoren an:

Logischer Datenträger\Freier Speicherplatz (%)

Dieser Indikator gibt Auskunft darüber, wie viel Speicher an dem ausgewählten Datenträger vorhanden ist. Sollte dieser Wert unter 15% fallen, kann es dazu kommen, dass das Betriebssystem nicht genügend freien Speicherplatz zum Speichern wichtiger Dateien hat. Daher sollte in einem solchen Fall der Speicherplatz erweitert werden.

Physikalischer Datenträger\Leerlaufzeit (%)

Dieser Indikator misst die Zeit in der sich der ausgewählte Datenträger im Leerlauf befindet. Sollte dieser Wert unter 20% fallen, sollte zu einem schnelleren Datenträgersystem gewechselt werden, da der Datenträger zu sehr ausgelastet ist.

Physikalischer Datenträger\Mittlere Sek./Lesevorgänge und
Physikalischer Datenträger\Mittlere Sek./Schreibvorgänge

Diese Indikatoren geben die durchschnittliche Zeitdauer für das Lesen oder Schreiben von Daten auf dem ausgewählten Datenträger an. Sollte dieser Wert größer als 20 ms sein, empfehlen wir auf ein schnelleres Datenträgersystem um zu steigen.


Netzwerkengpass

Um zu überprüfen ob es einen Engpass innerhalb der Netzverbindung gibt, bietet CONZEPT 16 bereits die Möglichkeit unterschiedlicher Tests. Eine Beschreibung der Möglichkeiten findet sich in der Online-Dokumentation, unter dem Indexeintrag Kommunikationstest.

Netzwerkengpässe können aus vielen Gründen auftreten, diese zu finden ist aber schwer, da nicht das komplette Netzwerk sondern lediglich die Netzwerkschnittstelle des Systems überwacht werden kann. Dennoch kann es passieren, dass die Netzwerkschnittstelle, also der Netzwerkadapter, für einen Engpass verantwortlich ist. Dieser kann oft mit Aktualisieren des Treibers oder Wechseln des Netzwerkadapters behoben werden. An Hand folgender Indikatoren kann ermittelt werden ob ein Netzwerkengpass vorliegt:

Netzwerkschnittstelle\Bytes insgesamt/s

Dieser Indikator gibt an wie viele Bytes durchschnittliche pro Sekunde von der Netzwerkkarte empfangen und gesendet werden. Zu einem Engpass kann es kommen, wenn mehr als 70% der Schnittstelle genutzt werden.

Netzwerkschnittstelle\Ausgabewarteschlangenlänge

Dieser Indikator gibt die Länge der Ausgabewarteschlange in Paketen gemessen an. Ein Engpass liegt vor, wenn der Wert größer 2 ist.


Remotebetrieb

Der Remotebetrieb eignet sich besonders zum Überwachen mehrerer Server um Vergleichsdaten zu sammeln. Um einen Server zu analysieren auf dem ein Leistungsproblem vorliegt, eignet sich der Remotebetrieb jedoch nicht. Das liegt daran, dass es bei Überlastung des Systems oder Netzwerks passieren kann, dass der Performance-Monitor nicht alle Daten erfasst, wodurch das Ergebnis verfälscht wird. Stattdessen sollte in einem solchen Fall der Performance-Monitor lokal ausgeführt werden. Dabei kann es zwar dazu kommen, dass die Serverleistung durch die Leistungsüberwachung beeinträchtigt wird. Bei heutigen Systemen ist die Beeinträchtigung jedoch so minimal, dass sie außer Acht gelassen werden kann.

Tipp

Innerhalb des Windows-Tools Leistungsüberwachung können Sie sich eine kurze Beschreibung des ausgewählten Indikators anzeigen lassen, welche Auskunft über den dargestellten Wert gibt. Ausgewählte Indikatoren können für eine spätere Wiederverwendung in einer Vorlage gespeichert werden, sodass Sie sich für jeden Engpass oder speziellen Fall nur einmal eine Vorlage anlegen brauchen.

Fazit

Natürlich gibt es noch weitaus mehr Indikatoren, die sich für bestimmte Analysen besser eignen als die oben genannten. Doch welche Sie benötigen, hängt immer von den jeweiligen Anforderungen ab und ist daher sehr schwer pauschal zu beantworten. Klar ist: Je mehr man sich mit der Performanceanalyse beschäftigt, desto schneller kommen die für einen persönlich am besten geeigneten Indikatoren zusammen.

4 Kommentare

4 Kommentare “Performanceanalyse für CONZEPT 16-Anwendungen”

  1. Vom Grundsatz her gilt das auch für virtualisierte Systeme, sofern aber mehrere VMs gleichzeitig laufen, muss die Analyse auf der Ebene des Hypervisors erfolgen. Bei vmware verfügt das vCenter ebenfalls über entsprechende Werkzeuge, mit denen sowohl die Gesamtperformance als auch eine einzelne VM betrachtet werden kann.

Kommentar abgeben