AzureでWorkerRoleC#アプリケーションを実行すると、しばらくすると、次の例外が原因でwaworkerhost.exeがクラッシュします。
Application: WaWorkerHost.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Runtime.CallbackException
Stack:
at System.Runtime.Fx+IOCompletionThunk.UnhandledExceptionFrame(UInt32, UInt32, System.Threading.NativeOverlapped*)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
Webサーバーへの負荷を生成するアプリケーションがあります。実際の応答は気にしませんが、1秒あたりのリクエスト数を制御したいと思います。したがって、毎秒起動して多数のリクエストを生成するタイマーがあります。私は次のオプションを試しました:
- Parallel.For with WebRequests
- ASyncWebRequestsを使用したForループ
- ThreadPool.QueueUserWorkItem(do webrequest)を使用したforループ
リクエストの数が増えると、例外が発生します(8+ req / sec)。3つのオプションすべてについて同じ例外。ローカルのDevelopmentFabricでロールを実行すると、3つのオプションすべてが正常に機能します。誰かが私に何がうまくいかないかについてのいくつかの指針を与えることができれば、私はそれを感謝します。AzureとC#からこのタイプの負荷を生成する他のアイデアがある場合は、考えを共有してください。