IIS 8应用程序池回收与SignalR 2.3.0

问题描述 投票:0回答:1

我在IIS 8.5.9600.16384中有一个网站,我们通过循环同步和SignalR 2.3.0与数千个移动设备进行通信。

今天早上我们在工作时间重置了一个应用程序池,这导致SignalR同时调用所有移动设备的“OnReconnect”。

我以为我先开始新的流程然后杀了旧的,没有停机时间。

有人可以告诉我,当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。任何提示都会有所帮助。

iis signalr application-pool iis-8.5 signalr-2
1个回答
1
投票

我首先确定IIS是如何重置的。如果您遇到崩溃或执行了IISReset,则在新的进程恢复之前,进程将会关闭。另一方面,如果您配置了AppPool回收,那么重叠的过程应该如您所述。我会检查系统事件日志以获取回收消息。请注意,默认情况下不会记录所有回收原因。

您还可以检查以确保disallowOverlappingRotation未设置为True。

指定WWW服务是否应该启动另一个工作进程以在该进程关闭时替换现有工作进程。如果工作进程加载任何不支持多个工作进程的应用程序代码,则应将此属性的值设置为true。 https://docs.microsoft.com/en-us/iis/configuration/system.applicationhost/applicationpools/add/recycling/

© www.soinside.com 2019 - 2024. All rights reserved.