azure - Azure 应用服务 - 传入连接激增而不生成请求
问题描述
我有一个在 Azure 应用服务中运行的 .NET Core 2.1 Web 应用。最近几次,该应用程序在遇到大量“连接”后崩溃。
我能找到的唯一文档是这样说的:
连接
沙盒中存在的绑定套接字数(w3wp.exe 及其子进程)。绑定套接字是通过调用 bind()/connect() API 创建的,并一直保持到使用 CloseHandle()/closesocket() 关闭该套接字为止。
查看指标时;连接似乎激增,而请求保持相当相似。
什么可能导致这种情况?文档似乎表明它是打开的 TCP 连接的总量?如果这只是标准的 API 调用;为什么它也不会注册为请求?它可能是由潜在问题(如依赖项)引起的,并且随着响应延迟的增加,连接保持打开状态?
编辑:很抱歉当时 Web 应用程序正在运行 .NET Core 2.2。我已经回滚到 2.1 并且没有看到任何不稳定问题;但我也没有看到连接的另一个高峰。
解决方案
由于您说您已安装 Application Insights,因此您很可能是这些问题的受害者,这些问题已在最新版本中得到修复:
https://github.com/Microsoft/ApplicationInsights-dotnet/issues/594
https://github.com/Microsoft/ApplicationInsights-aspnetcore/issues/690
请更新到最新的稳定版 SDK 看看是否有帮助。
推荐阅读
- python - 如何从一个类访问变量并在另一个类中使用它?
- mongodb - 计算两个字段与 MongoDB 匹配时的总出现次数
- java - Spring Boot:WebServerException:无法启动嵌入式 Tomcat
- rust - 返回`impl Fn`时令人困惑的生命周期问题
- python - 我需要知道如何做到这一点,但这可能是不可能的
- ruby-on-rails - Rails button_tag 提交按钮不起作用
- powershell - 是否可以编写 Powershell 循环来检查现有文件并在找到时重命名新文件?
- python - 使用 OpenCV 录制视频时编辑帧
- amazon-web-services - aws 中的 rabbitmq 自动缩放集群:管理缩放事件
- javascript - 如何在悬停时用从节点 js 控制器发送的变量替换 EJS 模板中的文本?