【发布时间】:2019-08-19 08:52:35
【问题描述】:
我在 IIS 8.5.9600.16384 中有一个网站,我们通过循环同步和 SignalR 2.3.0 与数千个移动设备进行通信。
今天早上我们在工作时间重置了应用程序池,导致 SignalR 同时调用我们所有移动设备的“OnReconnect”。
我认为 IIS 先启动新进程,然后杀死旧进程,没有停机时间。
谁能告诉我当 IIS 在 SignalR 端回收它的应用程序池时会发生什么?在哪些情况下会出现连接中断? (例如:如果服务器忙?)
已编辑:由于“时间限制”,IIS 回收了应用程序池。 IT 团队将更改此设置,以便应用程序池在每天晚上重置,这将对我们的应用程序产生较小的影响。
A worker process with process id of '8720' serving application pool 'DefaultAppPool' has requested a recycle because the worker process reached its allowed processing time limit.
还确认 disallowOverlappingRotation 未设置为 True。任何提示都会有所帮助。
几年后,我仍然遇到应用程序池回收和 SignalR 的一些问题。在应用程序池回收时,我们偶尔会看到数千次 SignalR 重新连接,打开超过 6 万个 TCPIP 端口并导致 IIS 崩溃。
我们设法让它“正常”运行了很长一段时间,但它仍然崩溃。任何提示都会有所帮助。谢谢
【问题讨论】:
标签: iis signalr application-pool iis-8.5 signalr-2