私は約25のコントローラ(コントローラ内のコードにいくつかの処理の助けを提供するために、主に静的な機能を備えた)多くのサポートクラスを持っている。ネットMVCプロジェクトを持っています。次に、コントローラへの呼び出しによって出力される約100のビューがあり、コントローラへの要求によってどの機能が要求されたかは異なります。ネットMVCメモリ管理とパフォーマンスImprovements-スーパービッグコントローラ
これらのコントローラのそれぞれには、数千行のコードが含まれています。私の理解は、すべての要求に対してコントローラインスタンスが作成され、これが私の懸念の原因です。コントローラへのHTTP呼び出しごとに何千ものコード行を含むオブジェクトをインスタンス化する必要がある場合、これは大きなパフォーマンス上の問題となる可能性があります。
そこで問題は、1)私の仮定は、各コントローラ・オブジェクト・インスタンスは、ソースコードの行のもの何千ものバイトコードのコピーを含むことが正しいですか? 2)コントローラーをより小さなコントローラーに分解するためにコードをより効率的にすることができますか? (古いコントローラメソッドを指すURLもブラウザ側のjavascriptで変更する必要があるため、これは重要な作業です)。 3)パフォーマンスを最適化するためのその他の提案はありますか?
ありがとうございます。
パフォーマンスとボトルネックをより詳細に把握するために、ライブアプリケーションで使用できるプロファイラはありますか? –
はい、100%の負荷をかけます。その後、デバッガを10回中断します。それは最もホットなコードで最も停止します。それ以外の場合は、購入する.NETプロファイラがあります。 – usr