ASP.NET MVC で非同期コントローラーを使用する必要がある場合?
ASP.NET MVC の非同期アクションは、解放されることでパフォーマンス上の利点を提供できます。スレッド、特にスケーリングが主な関心事であるサーバー アプリケーションで。ただし、非同期アクションの使用が適切な場合と、潜在的な制限について理解しておくことが重要です。
パフォーマンスに関する考慮事項
非同期アクションは次のことを行いません。
適切なシナリオ
次の場合は非同期アクションを使用することをお勧めします。 I/O タスクをバックグラウンドで完了している間に要求スレッドを解放できるため、I/O 操作を実行します。ただし、CPU バウンドのメソッドに非同期を使用することはお勧めできません。
データベース クエリ
ORM によって提供される待機可能なメソッドを利用して、データベースを非同期にクエリできます。ただし、非同期クエリはすべてのシナリオでスケーラビリティの利点を提供できるわけではないことに注意してください。データベース バックエンドが拡張可能であり、IIS がスケーラビリティのボトルネックである場合、非同期クエリによってパフォーマンスが向上します。
複数の Await キーワード
await キーワードは、内で複数回使用できます。複数の非同期操作を実行する単一アクション メソッド。ただし、EF の接続ごとに 1 つの操作ルールなど、ORM の制限を考慮することが重要です。
スケーラビリティに関する考慮事項
非同期アクションはスレッドを解放できますが、リクエストの完了時間を直接改善するものではありません。さらに、バックエンドがすでにフル稼働している場合、データベースのワークロードが増加する可能性があります。したがって、データベース バックエンドのスケーラビリティと、そのパフォーマンスに対する非同期クエリの潜在的な影響を評価することが重要です。
以上が最適なパフォーマンスを得るために、ASP.NET MVC で非同期コントローラーを使用する必要があるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。