我们有 3 台服务器,其中一台用于域服务器等基础设施,另外两台服务器用于 ASP MVC 和 WebAPI 站点。托管负载平衡器将负载平衡到服务器 2 和 3
很多个月以来,一切都运行正常,但自最近几周以来,我们注意到服务器 2 和 3 偶尔会挂起,事件日志中的大多数异常是:
异常信息:异常类型:HttpException异常消息:远程主机关闭了连接,错误代码为 0x80070057. 在 System.Web.Hosting.IIS7WorkerRequest.RaiseCommunicationError(Int32 result, Boolean throwOnDisconnect) 在 System.Web.WebSocketPipeline.DoFlush() --- 从先前发生异常的位置结束堆栈跟踪 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Web.WebSocketPipeline.d__8.MoveNext()
有时错误代码会有所不同,并且0x800704CD。在此状态下,w3wp 进程的 CPU 使用率最高可达 99.5%。网络和 RAm 使用率非常低
有时,在这种情况下,我们可以在安全日志中看到大量的身份验证。它是网站正在运行的用户。
这个错误不会在高峰期发生。有两次,我们在晚上几乎没有流量的时候遇到了这个错误。
当我查看工作进程 UI 时,我可以看到有许多 (30+) 个处于 EndRequest 状态的连接。这是预期的吗?这比我们目前并发用户的数量还多
我们没有改变服务器上的安装,流量仅略有增加。
欢迎任何建议。
还有其他重要的信息吗?