Einführung in die Überwachung von Leistungsschwellenwerten
Aktualisiert: November 2007
Der Mechanismus, mit dem Windows Leistungsdaten verschiedener Systemressourcen erfasst, wird als Leistungsindikator bezeichnet. Windows enthält eine Reihe vordefinierter Leistungsindikatoren, mit denen Sie arbeiten können. Einige dieser Leistungsindikatoren sind auf allen Windows 2000-Computern vorhanden, andere werden für spezielle Anwendungen vom Benutzer definiert und nur auf bestimmten Computern eingesetzt. Jeder Leistungsindikator bezieht sich auf einen bestimmten Systemfunktionsbereich. In den folgenden Beispielen werden Leistungsindikatoren zum Überwachen der Prozessorlaufzeit, der Speicherauslastung oder der über eine Netzwerkverbindung übertragenen Byteanzahl vorgestellt. Die Direktverbindung zu vorhandenen Leistungsindikatoren und die dynamische Verarbeitung ihrer Daten erfolgt über eine Instanz der PerformanceCounter-Komponente.
Ein Leistungsindikator überwacht das Verhalten von Leistungsobjekten auf einem Computer. Dazu gehören neben physischen Komponenten wie Prozessor, Datenträger und Speicher auch Systemobjekte wie Prozesse und Threads. In Visual Studio und Windows Software Development Kit (SDK) werden diese Leistungsobjekte als Kategorien angezeigt. Systemleistungsindikatoren, die sich auf dasselbe Leistungsobjekt beziehen, werden zu entsprechenden Kategorien zusammengefasst. Beim Erstellen einer Instanz der PerformanceCounter-Komponente geben Sie zuerst die Kategorie an, mit der die Komponente interagiert, und wählen anschließend einen Leistungsindikator innerhalb dieser Kategorie.
Eine Leistungsindikatorkategorie in Windows ist z. B. die Memory-Kategorie. Systemleistungsindikatoren in dieser Kategorie erfassen Daten wie verfügbare Bytes und Bytes im Cachespeicher. Erstellen Sie eine Instanz der PerformanceCounter-Komponente, und verbinden Sie sie mit der Memory-Kategorie, um die zwischengespeicherten Bytes in der Anwendung zu ermitteln. Wählen Sie anschließend in dieser Kategorie den zutreffenden Leistungsindikator (im vorliegenden Fall Cachebytes).
In manchen Fällen werden Kategorien weiter in Instanzen unterteilt. In Instanzen wird erfasst, wie häufig ein Objekt auftritt, auf das sich eine Kategorie bezieht. Beachten Sie, dass Instanzen immer für die gesamte Kategorie gelten und nicht für einzelne Leistungsindikatoren. Die Instanzen aller Leistungsindikatoren in einer Kategorie sind für die Kategorie definiert. In der Process-Kategorie sind z. B. die Instanzen "Idle" und "System" enthalten. Jeder Leistungsindikator in der Process-Kategorie führt Daten nach diesen Gesichtspunkten auf und zeigt Informationen zu Leerlaufprozessen oder Systemprozessen an. Kategorie und Leistungsindikatoren sind folgendermaßen strukturiert:
Kategorien, Instanzen und Leistungsindikatoren
Die Process-Kategorie enthält demnach zwei Instanzen. Infolgedessen enthalten auch die beiden Leistungsindikatoren in der Kategorie Idle-Instanzen und System-Instanzen. Weitere Informationen über Instanzen finden Sie unter Gewusst wie: Hinzufügen und Entfernen von Leistungsindikatorinstanzen.
Obwohl auf Ihrem System eine Vielzahl an weiteren Leistungsindikatorkategorien verfügbar ist, werden Sie in der Regel mit folgenden Standardkategorien arbeiten: Cache, Memory, Objects, PhysicalDisk, Processor, Server, System und Thread.
Leistungsindikatordaten
Leistungsindikatoren zeichnen Werte zu verschiedenen Teilen des Systems auf. Diese Werte werden nicht als Einträge gespeichert, sondern solange im Speicher behalten, bis das Handle für die betreffende Kategorie geschlossen wird. Der Datenabruf von einem Leistungsindikator wird als Sampling bezeichnet Beim Sampling rufen Sie entweder den unmittelbaren Leistungsindikatorwert oder einen berechneten Wert ab.
Je nachdem, wie der Leistungsindikator definiert ist, gibt sein Wert den aktuellen Stand der Ressourcenauslastung wieder, den so genannten Momentanwert, oder den Durchschnittswert aus den beiden letzten in einem gewissen Zeitraum vorgenommenen Stichproben. Wenn Sie z. B. einen Wert vom Thread Count-Leistungsindikator der Process-Kategorie abrufen, erhalten Sie die Anzahl der zuletzt gemessenen Threads für einen bestimmten Prozess. Dies ist ein Momentanwert. Wenn Sie jedoch den Pages/Sec-Leistungsindikator der Memory-Kategorie abrufen, erhalten Sie eine Rate pro Sekunde, die auf dem Durchschnittswert der in den beiden letzten Stichproben abgerufenen Speicherseitenanzahl beruht.
Häufig unterliegt die Ressourcenauslastung aufgrund des nach Tageszeit wechselnden Arbeitsvolumens heftigen Schwankungen. Deshalb sind Leistungsindikatoren, die Auslastungsquoten über einen bestimmten Zeitraum anzeigen, aussagekräftiger als Durchschnittswerte aus Momentanwerten der Leistungsindikatoren. In Durchschnittswerte können Daten für den Dienststart oder andere Ereignisse einfließen, die die Werte kurzzeitig über den normalen Bereich hinaus vergrößern und dadurch das Endergebnis verfälschen.
Die PerformanceCounter-Komponente bietet Funktionen für die häufigste an die Windows-Leistungsüberwachung gestellte Anforderung, nämlich die Verbindung mit einem Leistungsindikator auf dem Server und das Lesen und Schreiben von Leistungsindikatorwerten. Weitere Funktionen, z. B. komplexe Datenmodellierung, sind im Windows-Systemmonitor direkt verfügbar. Mit dem Systemmonitor können Sie z. B. ein Diagramm oder einen Bericht aus den Leistungsindikatordaten erstellen, Warnungen festlegen und die Daten in einem Protokoll speichern.
Arbeiten mit Leistungsindikatoren in .NET-Anwendungen
Mit der PerformanceCounter-Komponente lassen sich Verbindungen zu den Leistungsindikatoren auf den Servern herstellen, für die Sie zugriffsberechtigt sind, oder eigene Leistungsindikatoren erstellen. Daten können von allen Leistungsindikatoren gelesen und in die benutzerdefinierten Leistungsindikatoren auch geschrieben werden.
Die Verbindung zu einem vorhandenen Leistungsindikator stellen Sie her, indem Sie den Computer angeben, auf dem sich der Leistungsindikator befindet, die Kategorie des Leistungsindikators und den Namen des Leistungsindikators selbst. Bei Leistungsindikatoren mit mehreren Instanzen haben Sie zudem die Möglichkeit, die gewünschte Instanz anzugeben. Anschließend können Sie sämtliche Daten von dem Leistungsindikator lesen. Sie können die Kategorien, Leistungsindikatoren und Instanzen auf dem Computer mit Code numerisch auflisten oder sich mit dem Server-Explorer eine Liste der vorhandenen Leistungsindikatoren anzeigen lassen.
Beim Erstellen eines neuen Leistungsindikators müssen Sie für den lokalen Computer eine komplett neue Kategorie festlegen. Es ist nicht möglich, einer bestehenden Kategorie einen neuen Leistungsindikator hinzuzufügen oder neue Leistungsindikatoren auf einem Remotecomputer zu erstellen. Auf benutzerdefinierte Leistungsindikatoren, die Sie selbst erstellen, haben Sie jedoch immer Lese- und Schreibzugriff.
Wenn Sie den Knoten Leistungsindikatoren im Server-Explorer erweitern, werden die auf diesem Server installierten Leistungsindikatoren mit den Instanzen, anhand derer sie klassifiziert werden, nach Kategorien aufgelistet. Darüber hinaus können Sie einen bestimmten Leistungsindikator oder eine Instanz aus dem Server-Explorer in den Komponenten-Designer von Microsoft Visual Studio ziehen, um eine Instanz der PerformanceCounter-Komponente zu erstellen, die sich automatisch auf den ausgewählten Leistungsindikator bezieht.
Wenn Sie eine PerformanceCounter-Komponente in einer ASP.NET-Anwendung verwenden, beschränken die Standardeinstellungen des ASPNET-Benutzerkontos den Zugriff auf Leistungsindikatoren. Das ASPNET-Benutzerkonto kann standardmäßig in Leistungsindikatoren schreiben, nicht jedoch in ihnen lesen, und es kann keine neuen Kategorien erstellen. Sie können mit dem ASPNET-Benutzerkonto Identitätswechsel vornehmen, um die Erstellung neuer Kategorien zu ermöglichen. Die neue Identität muss über ausreichende Rechte zum Erstellen von Kategorien verfügen. Wenn die Anwendung vor der Bereitstellung festgelegte Leistungsindikatoren benötigt, können diese durch das Bereitstellungsprojekt erstellt werden. Weitere Informationen hierzu finden Sie unter Sicherheit für ASP.NET-Webanwendungen.
Hinweis: |
---|
Sie können eine neue Leistungsindikatorkategorie im Server-Explorer erstellen, indem Sie mit der rechten Maustaste auf den Knoten Leistungsindikatoren klicken und im Kontextmenü den entsprechenden Menübefehl wählen. Auch zum Bearbeiten vorhandener Kategorien klicken Sie mit der rechten Maustaste auf den zugehörigen Knoten. |
Weitere Informationen finden Sie unter Server-Explorer/Datenbank-Explorer.
Beschränkungen
In dieser Version müssen Sie beim Erstellen von benutzerdefinierten Leistungsindikatoren möglicherweise den in Microsoft Windows 2000 installierten Systemmonitor (Perfmon.exe) neu starten, damit der benutzerdefinierte Leistungsindikator in der Anwendung angezeigt wird.
Die PerformanceCounter-Klasse wird in Microsoft Windows NT, Version 4.0, nicht vollständig unterstützt. Sie können in den Systemleistungsindikatoren lesen, Sie können jedoch keine benutzerdefinierten Indikatoren erstellen, in diese schreiben oder sie löschen.
Siehe auch
Konzepte
Analyse der Leistungsindikatordaten