ASP.NET-Start Leistungsprofilerstellung im Web
Ich versuche, die Ursache für einen sehr langen (imho) Erststart einer ASP.NET-Anwendung zu ermitteln.
Die Anwendung verwendet verschiedene Bibliotheken von Drittanbietern und viele Referenzen, von denen ich sicher bin, dass sie konsolidiert werden können. Ich versuche jedoch, die DLLs zu identifizieren (und ihnen die Schuld zu geben) und wie viel sie zum erweiterten Startprozess beitragen.
Bisher variieren die Startzeiten von 2-5 Minuten abhängig von der Verwendung anderer Dinge auf der Box. Dies ist meiner Meinung nach aufgrund der Komplexität der Website inakzeptabel und muss auf maximal 30 Sekunden reduziert werden.
Um den Umfang der Leistung, nach der ich suche, klar zu machen, ist es die Zeit von der ersten Anforderung bis zur ersten Application_Start-Methode, die ausgeführt wird.
Wo fange ich an, um Informationen darüber zu erhalten, welche DLLs geladen sind und wie lange sie zum Laden benötigen, damit ich versuchen kann, Kosten und Nutzen zusammenzufassen, die wir angehen und konsolidieren müssen.
Aus Sicht der Fähigkeiten benutze ich JetBrains dotTrace schon seit einiger Zeit und mir ist klar, wie die Anwendung verglichen werden soll, sobald wir in der Anwendung sind. Es scheint jedoch, dass dies außerhalb des Anwendungscodes und daher außerhalb dessen liegt Ich weiß derzeit.
Was ich suche, sind Methoden, wie ich einen Überblick darüber bekomme, was vor dem ersten Einstiegspunkt in meinen Code passiert.
Hinweis: Ich weiß, dass ich die Standardseite beim Recyceln / Aktualisieren aufrufen kann, um ein erstes Laden durchzuführen, aber ich möchte lieber das eigentliche Problem lösen, als es zu tapezieren.
Hinweis 2: Die Hardware ist mehr als ausreichend skaliert und funktional getrennt, daher bin ich mir ziemlich sicher, dass dies nicht der Fall ist.