Cuanto más crítico es el entorno que tenemos que gestionar, más tendremos que afinar. Este pequeño truco nos puede resultar de ayuda, para tener control sobre cuándo se ha reciclado un Pool de Aplicaciones de IIS. Los App Pool no sólo se reinician bajo demanda, cuando un administrador lo solicita de forma explícita. Existen más casos, como por ejemplo al subir una Plantilla de Formulario de InfoPath. En mi caso, no tenía control de cuando ni quién estaba subiendo Plantillas de Formularios InfoPath, y se estaban produciendo indisponibilidades y errores en SharePoint, hasta que puse en práctica esta "auditoría", que me fué de mucha ayuda.
En mi caso lo he probado sobre Windows Server 2003 R2 SP2 (tanto x86 como x64), y me ha funcionado muy bien. Realmente se trata de una simple modifícación de la MetaBase del IIS, por lo que si lo deseamos, podemos realizar previamente un Backup de la MetaBase para garantizar la marcha atrás.
En cualquier caso, tan sólo tenemos que abrir una ventana de comandos, posicionarnos en c:\inetpub\AdminScripts y seguidamente ejecutar el comando: cscript adsutil.vbs Set "w3svc/AppPools/LogEventOnRecycle" 255
Y ya está. Fácil y sencillo. Toma efecto de inmediato, sin afectar al servicio (no requiere de un IISRESET ni de reinicio). A partir de este momento, se registraran nuevos eventos en el Visor de Sucesos del Sistema, con origen W3SVC, en particular: 1074 (AppPoolRecycleTime), 1075 (AppPoolRecycleRequests), 1076 (AppPoolRecycleSchedule), 1077 (AppPoolRecycleMemory), 1078 (AppPoolRecycleIsapiUnhealthy), 1079 (AppPoolRecycleOnDemand), 1080 (AppPoolRecycleConfigChange) y 1177 (AppPoolRecyclePrivateMemory).
Por último, un par de referencias, para quién le pueda interesar:
Poco más por hoy. Como siempre, confío que la lectura resulte de interés.
|