Freigeben über


Übersicht über die Leistung von ASP.NET

Die Entwicklung von Webanwendungen, die selbst dann schnell auf Benutzeranforderungen reagieren, wenn zahlreiche Anforderungen auf dem Server verarbeitet werden müssen, stellt bereits seit den Anfängen des Internets eine Herausforderung für Softwareentwickler und IT-Experten dar. Gerade die Überwachung der Websiteleistung ist ein Aspekt, dem sich alle Internet- und Intranetentwickler stellen müssen. Daher wurde ASP.NET unter Berücksichtigung dieser Anforderungen entwickelt.

Das ASP.NET-Modell bietet zahlreiche integrierte Leistungsoptimierungen, die in früheren Versionen von ASP nicht enthalten sind. Insbesondere für die Verarbeitung von HTTP-Anforderungen werden zwei Erweiterungen bereitgestellt. Erstens wird bei der ersten Anforderung einer ASP.NET-Seite dynamisch eine Instanz der Page-Klasse kompiliert. (In früheren Versionen von ASP wurde der Seitencode für Anforderungen in der Reihenfolge interpretiert, in der er auf der Seite aufgeführt war.) Bei der JIT-Verarbeitung (Just-In-Time) der Common Language Runtime (CLR) wird der von ASP.NET verwaltete Seitencode zur Laufzeit in systemeigenen Code des verarbeitenden Servers kompiliert. Zweitens wird die Page-Instanz, nachdem sie für die erste Anforderung kompiliert wurde, auf dem Server zwischengespeichert. Für jede weitere Anforderung der jeweiligen Seite wird die zwischengespeicherte Instanz der Klasse ausgeführt. Nach der ersten Anforderung wird die Page-Klasse nur dann neu kompiliert, wenn die ursprüngliche Quelle der Seite oder eines der davon abhängigen Objekte geändert wurde.

Darüber hinaus werden von ASP.NET interne Objekte, wie Servervariablen, zwischengespeichert, um den Zugriff auf Benutzercode zu beschleunigen. ASP.NET ist als Bestandteil von .NET Framework in der Lage, die Vorteile der von der Common Language Runtime bereitgestellten Leistungserweiterungen zu nutzen. Dies gilt auch für die zuvor erwähnte JIT-Kompilierung, einer fein abgestimmten Common Language Runtime sowohl für Einzel- als auch für Multiprozessorcomputer usw.

Leider kann auch durch diese Erweiterungen nicht garantiert werden, dass der von Ihnen programmierte Code optimal arbeitet, wenn zahlreiche HTTP-Anforderungen gleichzeitig von der Anwendung verarbeitet werden müssen. Anwendungen müssen getestet werden, um sicherzustellen, dass sie den Anforderungen ihrer Benutzer gerecht werden. Es gibt vier allgemeine Leistungsfaktoren, die Sie überprüfen können, um die optimale Leistungsfähigkeit Ihrer Anwendung zu gewährleisten.

  • Ausführungszeit
    Die zur Verarbeitung einer Anforderung benötigte Zeit; entspricht normalerweise dem Zeitraum zwischen dem ersten und letzten Byte, das vom Server an den Client zurückgegeben wird. Die Ausführungszeit hat direkten Einfluss auf die Berechnung des Durchsatzes.
  • Antwortzeit
    Die Zeitspanne zwischen dem Eingehen einer Anforderung und dem Zurückgeben des ersten Bytes vom Server an den Client. Dieser Leistungsaspekt wird vom Clientbenutzer am ehesten wahrgenommen. Wenn eine Anwendung eine lange Antwortzeit benötigt, besteht die Gefahr, dass der Benutzer ungeduldig wird und zu einer anderen Site surft. Die Antwortzeit einer Anwendung kann unabhängig von der Durchsatzrate (und sogar entgegengesetzt dazu) variieren.
  • Skalierbarkeit
    Das Maß, in dem eine Anwendung eine Leistungssteigerung realisiert, wenn ihr zusätzliche Ressourcen (Arbeitsspeicher, Prozessoren oder Computer) zur Verfügung stehen. Die Skalierbarkeit wird häufig als Bemessungsgrundlage für veränderte Durchsatzraten im Hinblick auf die Prozessoranzahl verwendet.
  • Durchsatz
    Die Anzahl der Anforderungen, die eine Webanwendung pro Zeiteinheit verarbeiten kann; wird oftmals in Anforderungen pro Sekunde gemessen. Der Durchsatz kann abhängig von der Serverlast (Anzahl der angewendeten Clientthreads) variieren. Er wird normalerweise als wichtigster Leistungsfaktor angesehen, den es zu optimieren gilt.

Bei der Programmierung leistungsfähiger Anwendungen sollte unbedingt ein Gleichgewicht zwischen diesen Leistungsfaktoren herrschen. Natürlich kann das Verhalten einer Anwendung unter verschiedenen Bedingungen nicht durch eine dieser Bemessungsgrundlagen beurteilt werden; die Kombination mehrerer solcher Grundlagen kann jedoch sehr wohl Aufschluss über die Leistungsfähigkeit einer Anwendung geben. Weitere Informationen über die Leistungsbeurteilung sowie Informationen über die im Lieferumfang von ASP.NET enthaltenen Leistungsindikatoren finden Sie unter Überwachen der ASP.NET-Anwendungsleistung.

Anregungen zur Entwicklung hochleistungsfähiger Anwendungen finden Sie unter Entwickeln von leistungsfähigen ASP.NET-Anwendungen.

Siehe auch

ASP.NET-Optimierung