azure - Microsoft.Azure.EventHubs.Processor 中的异常导致 CPU 阻塞

标签 azure azure-eventhub event-processor-host

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

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

enter image description here

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

最佳答案

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

  • 进行进程转储并检查线程、线程池和套接字实例。
  • 检查本地端口、节点上的传出连接。 netstat 命令应列出所有正在使用的端口。

关于azure - Microsoft.Azure.EventHubs.Processor 中的异常导致 CPU 阻塞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63119074/

相关文章:

java - Azure 事件中心偏移

Reactjs 应用程序 Azure 部署失败

azureml-sdk : Mount dataset

c# - 我们是否应该将 Microsoft.Azure.EventHubs.Processor 库与 .NET 框架一起使用

azure - Azure 事件中心消息存储在哪里?

azure - 我已通过身份验证,但 "Please sign up before you can sign in"

Azure B2C不使用webview

azure - 如何删除 Azure EventHub 中的旧消息?

azure - 如果 Azure Function App 在消费计划中缩小到 0,它如何监听来自事件中心的传入事件?