MVC3アプリケーションのパフォーマンスを向上させるために、一部のコントローラーをAsyncControllerにマークします。EF 4.x(最新の安定版)を使用しており、いくつかのアドバイスが必要です。適切な方法でEFへの非同期呼び出しを行う方法をリンクしています。実体等の処分方法
可能であれば、理にかなっています。ありがとう。
MVC3アプリケーションのパフォーマンスを向上させるために、一部のコントローラーをAsyncControllerにマークします。EF 4.x(最新の安定版)を使用しており、いくつかのアドバイスが必要です。適切な方法でEFへの非同期呼び出しを行う方法をリンクしています。実体等の処分方法
可能であれば、理にかなっています。ありがとう。
コントローラを非同期にすることでパフォーマンスが向上すると考えて騙されないでください。ほとんどの場合、事態は悪化します。非同期コントローラーがパフォーマンスを向上させる唯一のシナリオは、IO/完了ポートを利用する場合です。これは、データベースやWebサービスの呼び出しなどのIOを集中的に使用する操作がある場合に発生する可能性があります。非同期バージョンのADO.NETBeginXXXおよびEndXXXを使用することによってのみ、非同期コントローラーのメリットを享受できます。
非同期コントローラーを作成し、その内部でDataContextで同期操作を呼び出すと、すべての利点が失われ、事態はさらに悪化します。
非同期コントローラーを使用してパフォーマンスを向上させることができるもう1つの便利なシナリオは、複数の操作を並列化する場合です。これは、実行している作業を並列化できる場合にのみ使用できます。
MSDNの次の記事を参照することをお勧めします。非同期ASP.NETページに関するものですが、MVC(ページがコントローラーである)でも概念はまったく同じです。裏では、非同期コントローラーは同じメカニズムを使用して実装されます。したがって、非同期プログラミングに飛び込む前に、IO/完了ポートの概念を十分に理解していることを確認してください。
別のアドバイス:時期尚早の最適化を行わないでください。アプリケーションの負荷テストから始めます。同期データベース呼び出しが実際にボトルネックであることがわかった場合にのみ、非同期コントローラーを確認する必要があります。