【发布时间】:2017-12-05 19:59:48
【问题描述】:
我正在对使用 websocket 的应用服务进行故障排除。 它在允许 350 个 websocket 的服务计划 Basic 上运行。 这是该计划中唯一使用 websockets 的应用程序。
问题是大约 20 小时后,我收到 503 条回复,说我达到了 websocket 限制。
现在的设置有 3 个客户端连接到服务。
在我的应用程序中调查 websocket 泄漏的过程中,我想跟踪正在使用的 websocket 数量。
我的应用程序或 Azure 门户中是否有任何地方可以查看活动 websocket 连接的数量?
跟进:
我已将 websocket 连接记录为Amor suggested。 我的应用程序的 HTTP 部分仍在工作,我可以从应用程序获取动态结果,该应用程序现在报告哪些 websocket 连接处于活动状态以及自启动以来已创建了多少。
重启应用服务并配置一个客户端无限重连接后。
在“总的 websocket 连接数”达到 350 之前运行良好。此时我关闭了客户端。
限制应该是 350 个并发连接,但自开始以来总共看起来是 350 个。 这些连接中的大多数(至少 340 个)是由单个客户端发起的,该客户端在开始新的连接之前处理每个连接,一旦达到限制,它就会被关闭。
有人建议我从基本升级到标准,因为标准没有人为限制。我能看到这项工作的唯一原因是基本计划的 websocket 限制存在错误。
更新 2
与此同时,我一直在与 Microsoft 开发人员支持联系,他们注意到 似乎 套接字卡在 IIS 中,而没有卡在 Kestrel 中。原因仍在调查中。
支持人员可以向我显示一段时间内的连接使用图表,清楚地显示如何达到限制。
我会及时更新这个问题,以防我的代码出现错误。
【问题讨论】:
标签: azure websocket asp.net-core azure-web-app-service