Ich arbeite an einer .NET WebForms-Anwendung, und ich habe beobachtet, dass, wann immer ich nach dem Build erstellen, die erste Seite Laden dauert länger als normalerweise zu laden. Dies passiert auch, wenn ich nach dem Aufbauen warte, bevor ich eine Seite lade. Gibt es eine Möglichkeit, die Leistung von Mitarbeitern zu erhöhen, indem ich IIS/.NET so ändere, dass Dinge beim Postbuild statt beim Laden der ersten Seite initialisiert werden?.NET Build verlangsamt erste Seite laden deutlich
Antwort
Ja können Sie, wie this. Zitiert:
Sie Anwendungsinitialisierung Module verwenden können, die mit IIS 8.0, wie dies in-Box kommt:
<applicationInitialization
doAppInitAfterRestart="true" >
<add initializationPage="/" />
</applicationInitialization>
Dies wird eine Anfrage an die Wurzel Ihrer App (initializationPage = "/") senden Jedes Mal, wenn Ihre App automatisch gestartet wird.
Sie können auch den Startmodus für Ihren Anwendungspool so konfigurieren, dass immer Lauf, die jedes Mal, IIS neu gestartet wird, bedeutet, wird er sicherstellen, dass Sie sofort Ihren Anwendungspool starten (dies, wenn von rechts auf dem Anwendungspool klicken dann Erweiterte Einstellungen).
Professionelle Server haben kaum Latenz, obwohl sie einiges an Feinabstimmung erfordern. Außerdem werden Anwendungen regelmäßig in IIS wiederverwendet (auch wenn einige Arten von Ausnahmen auftreten, wenn einige Dateien geändert werden oder wenn bestimmte Schwellenwerte erreicht werden). Professionelles Web-Application-Hosting ist alles andere als einfach :) Vielleicht erhalten Sie Hilfe bei Server Fault. Eine weitere Option besteht darin, das Mischen von Vorkompilierung und JIT-Kompilierung zu vermeiden. Wenn Sie nur eine Vorkompilierung durchführen, müssen Sie bei der Bereitstellung der Anwendung keine Kompilierung durchführen, was zu schnelleren Startzeiten führt. Wenn Sie nur Quellen bereitstellen, muss die Anwendungsdomäne bei einer Änderung nicht abgebrochen werden. Dies bedeutet, dass nur die Änderung neu kompiliert werden muss, was viel schneller ist. Der ASP.NET Core ist natürlich viel schneller in beiden Szenarien - er kann die gesamte Kompilierung im Speicher ausführen, im Gegensatz zu dem Altsystem, das csc
verwendet, um mehrere Assemblies zu erstellen, sie auf Festplatte zu speichern, laden sie von der Festplatte, fusionieren sie zusammen, speichern Sie wieder, nur um es erneut zu laden und zu initialisieren.
- 1. Wie herauszufinden, was das Laden der Seite verlangsamt
- 2. MySQL-Abfrage verlangsamt Laden der Seite auf einem externen Server
- 3. Ignorieren Safari erste Seite laden Popstate
- 4. Seite springt beim Laden
- 5. Fiddler verlangsamt meine Browser
- 6. GeckoFX - donig Ereignisse, wenn Seite Laden abgeschlossen ist (.NET)
- 7. C++ OpenMP: Schreiben in eine Matrix innerhalb der For-Schleife verlangsamt die For-Schleife deutlich
- 8. Hintergrundbild stark verlangsamt Website
- 9. Anzeige der Nachricht nur für die erste Seite laden
- 10. DataTable auf die erste Seite neu laden, wenn Spalte
- 11. Warum verlangsamt sich Neo4J gegenüber HTTPS?
- 12. .Net Build Automation
- 13. Beste .NET-Build-Werkzeug
- 14. Compile .net 4.0-Projekt auf Build-Server mit .net 4.5
- 15. Run JS Funktion auf Seite Laden VB> NET
- 16. deutlich in Xpath?
- 17. Verlangsamt App in C# -Form
- 18. Laden Sie die erste Seite Onload und erste Navigationstaste angeklickt Onload
- 19. Verlangsamt die Verwendung von Delegaten meine .NET-Programme?
- 20. DocumentListener verlangsamt Document.setCharacterAttributes Methode?
- 21. Laden Schriften auf Seite laden
- 22. Build XMLDocument in C#. NET
- 23. Erste Fehler SignatureDoesNotMatch .NET in Softlayer Objektspeicher
- 24. Seite laden() oder Seite init()
- 25. Laden .Net Fx Abfrage
- 26. .NET-Baugruppen laden Prioritäten
- 27. .Net Release Build arbeitet langsamer als Debug
- 28. Verlangsamt Jquery Webseiten?
- 29. Subdomain Route erste Route laden
- 30. Fehler beim Laden der Ressource: net :: ERR_CONNECTION_RESET auf CDN
Wird diese applicationInitialization innerhalb des appSettings-Knotens hinzugefügt? –
Nein, innerhalb, weil es eine IIS-Funktion ist. Überprüfen Sie dies: https://www.iis.net/configreference/system.webserver/applicationinitialization –
Auch müssen Sie "Application Initialization" -Funktion unter Windows-Funktionen installieren, wenn nicht vorhanden ist. –