我们有一个使用“Microsoft.Azure.EventHubs.Processor”的 Web 作业。在连续运行超过 1 个月没有任何问题后,它突然开始抛出以下异常。从而导致CPU阻塞。参见图表。我们必须重新启动网络作业才能降低 CPU 性能。
- System.Net.Sockets.SocketException:套接字上的操作可能 由于系统缺少足够的缓冲区空间或无法执行 因为队列已满
- Microsoft.Azure.Storage.StorageException:指定的租约 ID 已执行 与 blob 的租约 ID 不匹配。
有没有办法处理上述异常。即使我们在 ProcessEventsAsync 方法中处理异常,我们也没有捕获这些异常。我们在这里缺少什么?我们如何确保这种情况不会再次发生?
最佳答案
显然,运行 Web 作业的节点没有可用端口。一旦你有了新的复制品,你可以做几件事来调查:
- 进行进程转储并检查线程、线程池和套接字实例。
- 检查本地端口、节点上的传出连接。 netstat 命令应列出所有正在使用的端口。
关于azure - Microsoft.Azure.EventHubs.Processor 中的异常导致 CPU 阻塞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63119074/