0

C# .net の通常のリクエストと非同期のリクエストのパフォーマンスの違いは何ですか?

4

3 に答える 3

1

ユースケースによって異なります。単純なシナリオで async を使用してもすぐにパフォーマンスが向上するわけではありませんが、より複雑なシナリオやスケーラビリティにとって重要になる場合があります。

たとえば、多数のサーバーに複数のリクエストを送信するのは、明らかに並行して行うのが最適です。これは、非同期を使用して処理できます。

スケーラビリティに関しては、同期 Web 要求を使用して低速の外部サーバーと通信する Web アプリケーションを考えてみましょう。IIS は限られた量のスレッドのみを割り当ててユーザーからの要求に対応するため、ユーザー数が増えると、外部 Web 要求を待機している間にすべてのユーザー スレッドがブロックされるリスクがあります。これは、一部のユーザー要求が IIS によって拒否されることを意味します。

于 2012-07-31T08:16:48.783 に答える
0

非同期モードでは、サーバーは必要なものだけに応答できます。これにより、ネットワークの負荷が最小限に抑えられ、応答時間が最小限に抑えられ、ユーザーエクスペリエンスが向上します。

于 2012-07-31T05:45:13.713 に答える
0

それによって異なりますが、asp.net では同期を使用する必要があります (4.5 まで)。ただし、Windows フォームまたはその他の種類の C# プロジェクトでは、スレッドが保留になるのを防ぎます。ASYNC 完了イベントを呼び出すと、UI やメイン スレッドを保留にすることなく、適切な情報を更新できます。

于 2012-07-31T05:40:38.263 に答える