5

当我在 Azure 上运行我的 WorkerRole C# 应用程序时,一段时间后 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*)

我有一个为网络服务器生成负载的应用程序。我不关心实际响应,但我想控制每秒发出的请求数。因此,我有一个每秒触发一次并生成许多请求的计时器。我尝试了以下选项:

  • Parallel.For 与 WebRequests
  • 带有异步 WebRequests 的 For 循环
  • 使用 ThreadPool.QueueUserWorkItem 循环(做 webrequest)

当请求数量增加时,会发生异常(8+ req/sec)。所有三个选项都有相同的例外。当我在本地 DevelopmentFabric 中运行该角色时,所有三个选项都可以正常工作。如果有人可以就可能出现的问题给我一些指示,我将不胜感激。如果您有其他想法从 Azure 和 C# 生成这种类型的负载,请分享您的想法。

4

1 回答 1

1

作者在对原帖的评论中回答了这个问题,但为了更好的可见性,我将它报告到这里:

原来是 IntelliTrace 问题,请参阅 http://social.msdn.microsoft.com/Forums/en-ZA/windowsazuretroubleshooting/thread/543da280-2e5c-4e1a-b416-9999c7a9b841

...

在禁用 Intellitrace 的情况下重新部署我的解决方案后,问题得到解决,并且我的 WorkerRole 保持健康。

于 2012-02-23T12:04:54.573 回答