1

我们有一个使用“Microsoft.Azure.EventHubs.Processor”的网络作业。在连续运行超过 1 个月没有任何问题后,它突然开始抛出异常。这导致CPU阻塞。见图表。我们不得不重新启动 Web 作业以降低 CPU。

  • System.Net.Sockets.SocketException :无法对套接字执行操作,因为系统缺少足够的缓冲区空间或队列已满
  • Microsoft.Azure.Storage.StorageException:指定的租约 ID 与 blob 的租约 ID 不匹配。

在此处输入图像描述

有没有办法处理上述异常。即使我们在 ProcessEventsAsync 方法中处理异常,我们也没有捕获这些异常。我们在这里缺少什么?我们如何确保它不会再次发生?

4

1 回答 1

1

显然,运行 Web 作业的节点没有可用端口。一旦你有了一个新的复制品,你可以做几件事来调查:

  • 进行进程转储并检查线程、线程池和套接字实例。
  • 检查本地端口,节点上的传出连接。netstat 命令应该列出所有正在使用的端口。
于 2020-07-28T18:10:33.903 回答