要件は、Web サービスのストレス テスト用のアプリケーションを作成することでした。たとえば、サイズが 4 KB の 1000K の HTTPWebRequest を Web サービスに攻撃することを考えました。これを実現するために、いくつかのスレッドがキューに送信されるデータを追加し、スレッド プールが送信するような構造のアプリを作成しました。これらのリクエストは非同期に行われます。
Task responseTask = Task.Factory.FromAsync(testRequest.BeginGetResponse, testRequest.EndGetResponse, null);"
しかし、今何が起こっているかというと、しばらくすると、1 秒あたりのリクエスト数が大幅に減少します (サービスの応答時間が増加したためかもしれません..しかし、再度リクエストを非同期で送信している場合、応答時間は問題になりますか? )。それに加えて、しばらくするとツールがクラッシュし、「アプリケーションが動作を停止しました」というメッセージが表示され、例外がメモリ不足の例外として表示されます。
私が観察したことの 1 つは、アプリがクラッシュする直前に、Web サービスの応答時間が大幅に増加することです。クラッシュの間接的な理由ですか?
それに対する救済策は何ですか?