Best Practices für die ASP.NET-Leistung
Autor:Eve Cole
Aktualisierungszeit:2009-06-30 16:04:02
Organisieren Sie Empfehlungen zur logischen/physischen Entwurfspraxis basierend auf dem MSDN-Webcast: Verwenden Sie logische dreistufige Modellseiten (.aspx) und Benutzersteuerelemente (.ascs).
Wiederverwendbare Typen (Komponenten) werden im Verzeichnis bin abgelegt. Empfohlen: Design für Web Farm. Achten Sie nicht darauf, dass Besucher immer zum gleichen Server zurückkehren.
Empfehlungen für den Web Farm-Sitzungsstatus: Die Verwendung desselben Prozesses sollte (wenn möglich) Folgendes vermeiden:
Synchrone Aufrufe von XML-Webdiensten mithilfe von XML-Webdiensten über Remoteaufrufe über DCOM:
Die Kommunikation zwischen Anwendungen im Internet sollte nicht für die anwendungsinterne Kommunikation verwendet werden. Empfehlung: Verwenden Sie ISA Server, wenn eine DMZ-Sicherheitszone erforderlich ist:
Zugriff nur über ISA zulassen
ISA-Tunnel durch DMZ zu ASP.NET
Reduzieren Sie die Sprach-/Codeempfehlungen für den Prozesswechsel, um die Verwendung einer späten Bindung zu vermeiden
<%@ Page Language = "VB" Explicit = "true" %> erfordert die Deklaration aller Variablentypen und ermöglicht dennoch eine späte Bindung
<%@ Page Language = "VB" strict = "true" %>Verbietet die Verwendung einer späten Bindung
Es wird empfohlen, COM so wenig wie möglich für die COM-Interaktion zu verwenden. Um verwaltete Komponentendaten zu verwenden, wird empfohlen, die Daten in SQL Server zu speichern und die entsprechende Datenzugriffsmethode zu wählen: OLEDB/SQL-Client/ODBC
Wählen Sie sinnvollerweise DataSet und DataReader für die Datenzugriffsstatusverwaltung und wählen Sie die geeignete Methode zum Speichern der Sitzung: Inproc/StateServer/database
Verwenden Sie einfache Datentypen, um das Speichern der COM-Objekte von STA in der Sitzung zu vermeiden. Wenn die Sitzung nicht benötigt wird, deaktivieren Sie sie: EnableSessionState = „false“
Verwenden Sie nach Möglichkeit das readonly-Attribut: EnableSessionState = „Readonly“
Wenn ViewState nicht benötigt wird, deaktivieren Sie es, EnableViewState = false
Daten in ViewState minimieren. Größe von ViewState anzeigen. HTML-Ausgabequellcode anzeigen oder Trace aktivieren
Verwenden Sie „Cache-Seiten-Cache, teilweisen Seiten-Cache“.
Cache-Objektdaten-Cache
WebService-Cache-Methode zur Quantifizierung der WEB-Leistung: Reaktionszeit des Maschinendurchsatzes. Getestet durch Laden des Servers. Verwenden mehrerer Client-Maschinen zum Laden des kostenlosen Microsoft Web Application Stress
Testen Sie mehrere Szenarien, um die End-to-End-Szenario-Durchquerung der Website zu simulieren. Werte, die unter unterschiedlichen Lasten berechnet werden müssen (100, 250, 500, 750, 1000). Kunden, die gleichzeitig vorbeikommen)
Identifiziert die maximale Client-Auslastung innerhalb der akzeptablen TTFB/TTLB-Antwortzeit. Kritische Leistungsindikatoren Prozessor, CPU-%-Auslastung || Niedrige Werte = Gefährdung oder Sperrkonflikt
ASP.NET, Anzahl der in die Warteschlange gestellten Anforderungen ||. Lineares Wachstum bedeutet, dass der Server vollständig ausgelastet ist
ASP.NET-Anwendung, Anfragen pro Sekunde||Dynamischer Durchsatz (sollte konsistent sein)
ASP.NET-Anwendung, Gesamtzahl der Fehler || Zeigt Funktionsfehler an (sollte 0 sein)
ASP.NET-Anwendung, Neustart des Arbeitsprozesses || Zeigt einen schwerwiegenden Funktionsfehler an