ASP.NETアプリケーションの非常に長い(imho)初期起動の原因を特定しようとしています。
このアプリケーションはさまざまなサードパーティのライブラリを使用しており、統合できると確信している多くの参照がありますが、dllと、それらが拡張起動プロセスにどの程度貢献しているかを特定(および配分のせい)しようとしています。
これまでのところ、起動時間は、ボックス上の他のものの使用法に応じて2〜5分です。これは、サイトの複雑さからすると私の意見では受け入れられないので、これを最大30秒程度に減らす必要があります。
私が探しているパフォーマンスの範囲を明確にするために、最初のリクエストから最初のApplication_Startメソッドがヒットするまでの時間です。
では、どのDLLがロードされるか、およびロードにかかる時間に関する情報を取得することから始めて、取り組む/統合する必要のあるコスト/メリットをまとめることを試みることができます。
能力の観点から、私はしばらくの間JetBrains dotTraceを使用しており、アプリケーションに入った後のアプリケーションのベンチマーク方法は明らかですが、これはアプリケーションコードの外にあるため、何の外にあるようです。私は現在知っています。
私が探しているのは、コードへの最初のエントリポイントの前に何が起こっているのかを可視化する方法に関する方法論です。
注:リサイクル/アップグレード時にデフォルトのページを呼び出して初期ロードを実行できることは知っていますが、実際の問題を解決するのではなく、問題を解決したいと思います。
注2:ハードウェアは十分にスケーリングされ、機能的に分離されているため、これは問題ではないと確信しています。