Best Practices zur Verbesserung der Anwendungsleistung in ASP.Net

Es gibt zahlreiche Faktoren, die die Anwendungsleistung von Webanwendungen beeinflussen. Um die Anwendungsleistung zu verbessern, müssen Sie sicherstellen, dass Sie Anwendungen erstellen, die am wenigsten Speicher benötigen und am wenigsten verarbeitet werden, um die gewünschte Ausgabe zu erzielen.

Um dies zu erreichen, müssen Sie die empfohlenen Richtlinien und Techniken einhalten, die zur Verbesserung, Optimierung und Steigerung der Leistung Ihrer Webanwendung beitragen. In diesem Beitrag werde ich die wichtigsten Empfehlungen diskutieren, die Sie befolgen sollten, um die Anwendungsleistung und Reaktionsfähigkeit von Webanwendungen zu verbessern, die mit ASP.Net erstellt wurden.

Reduzierung der Ladezeit der Seite

Um die Ladezeit Ihrer Webseiten zu verkürzen, sollten Sie die Skripte und CSS-Dateien minimieren und übermäßig große Bilder, redundante Tags und verschachtelte Tabellen vermeiden. Vermeiden Sie die Verwendung von Serversteuerelementen (es sei denn, es gibt einen bestimmten Grund, diese zu verwenden), um die Größe Ihrer Webseiten zu minimieren.

Sie sollten auch unnötige Roundtrips zum Webserver vermeiden, um ein schnelleres Laden der Seite zu ermöglichen. Sie können die Page.IsPostback-Eigenschaft nutzen, um unnötige Serververarbeitung auf einer Rundreise zu vermeiden und so den Netzwerkverkehr zu reduzieren. Eine andere Technik, die Sie anwenden können, ist die Vorkompilierung. Sie können die Webseiten in Ihrer Anwendung vorkompilieren, um die Größe des Arbeitssatzes zu verringern. Sie können das AutoEventWireup-Attribut auch in der Datei machine.config auf "false" setzen, damit die Laufzeit nicht nach den einzelnen Ereignishandlern auf einer Webseite suchen muss.

  

    

      

    

  

Wenn Sie diese Eigenschaft auf false setzen, werden die Seitenereignisse nicht automatisch verkabelt, sodass die Möglichkeit ausgeschlossen ist, dass dasselbe Ereignis zweimal aufgerufen wird, wenn die Seite ausgeführt wird.

Sie sollten die von Ihrer Anwendung verwendeten Skripte und CSS so weit wie möglich bündeln. Nutzen Sie nach Möglichkeit asynchrone Aufrufe von der Webseite an die serverseitigen Methoden - dies hilft Ihrer Webseite, reaktionsschnell zu sein.

Staatsverwaltung

Sie sollten die Verwendung von ViewState vermeiden, um ein schnelleres Laden der Seite zu ermöglichen. Denken Sie daran, dass jedes Byte, das einer Webseite durch Aktivieren des ViewState hinzugefügt wird, zwei Bytes Netzwerkverkehr verursacht - ein Byte in jede Richtung, dh vom Server zum Client und das andere vom Client zum Server. Außerdem sollten Sie das Formular-Tag runat = "server" von Ihrer Webseite entfernen, wenn Sie ViewState nicht verwenden müssen. Dies würde Ihnen ungefähr 20 Bytes der Seitengröße ersparen.

Caching ist eine weitere für Sie verfügbare Statusverwaltungstechnik. Verwenden Sie sie mit Bedacht, um relativ veraltete Daten im Speicher zu speichern. Sie können die Webseiten oder Teile Ihrer Webseiten bei Bedarf zwischenspeichern. Das Zwischenspeichern von Daten kann verwendet werden, um die Anwendungsleistung zu steigern, da das Lesen von Daten aus dem Cache-Speicher relativ schneller ist als das Lesen derselben Daten aus einer Datei oder Datenbank.

Sie sollten Ihren Code optimieren, um sicherzustellen, dass Sie Ressourcen (Speicher und Prozessor usw.) mit Bedacht einsetzen - ich werde einen separaten Beitrag dazu schreiben.

Resourcenmanagement

Wenn die richtigen Ressourcenverwaltungstechniken befolgt werden, kann dies die Leistung Ihrer Anwendung erheblich steigern. Sie sollten Ressourcen (Dateihandles, Datenbankverbindungen usw.) spät erwerben und frühzeitig entsorgen. Sie sollten Ihren Code so schreiben, dass die Objekte nicht zu höheren Generationen befördert werden. Denken Sie daran, dass der Garbage Collector in den niedrigeren Generationen viel häufiger arbeitet als in den höheren. Sie sollten Dispose and Finalize entsprechend verwenden, um die nicht verwalteten Ressourcen zu bereinigen, die Sie in Ihrer Anwendung verwenden. Es wird empfohlen, den ressourcenintensiven Code in Ihrer Anwendung in einen using-Block einzubinden. Dies würde sicherstellen, dass die Ressourcen ordnungsgemäß entsorgt werden, wenn sie nicht mehr benötigt werden. Beachten Sie, dass die Anweisung "using" beim Kompilieren zu einem "try - finally" entartet.Kombination und kann nur für Objekte verwendet werden, die die IDisposable-Schnittstelle implementieren.

Sie sollten auch die empfohlenen Datenzugriffsstrategien nutzen und sicherstellen, dass Ihre Anwendung die Datenbankverbindungen nicht lange hält, um ein besseres Verbindungspooling zu ermöglichen. Sie sollten Ihren Code so schreiben, dass nur eine minimale Anzahl von Datenbankverbindungen verwendet wird. Wenn Ihre Anwendung an den Datenbankverbindungen festhält, besteht die Möglichkeit, dass dem Datenbankverbindungspool die verfügbaren Verbindungen ausgehen und die Leistung beeinträchtigt wird, wenn die Nachfrage nach Verbindungen einen bestimmten Grenzwert überschreitet. In den meisten Fällen können Sie gespeicherte Prozeduren nutzen, um den Verarbeitungsaufwand auf Ihrem Datenbankserver für häufig verwendete Abfragen zu verringern. Dies trägt erheblich zur Verbesserung der Datenzugriffsleistung bei.