reiniciar regular recycled practices interval conditions best automatically application iis web-applications webserver application-pool recycling

iis - regular - reiniciar application pool



¿Por qué incluso reciclar un grupo de aplicaciones? (3)

La razón por la que lo hacen es que una aplicación puede "no funcionar" a pesar de que su CPU y memoria están bien (piense en un punto muerto). El reciclaje de la aplicación es una medida final a prueba de fallas que puede proteger el código defectuoso de la muerte.

Además, cualquier código que no haya podido implementar IDisposable ejecutará finalizadores en el reciclaje que posiblemente liberará los recursos retenidos.

Tal vez alguien pueda arrojar algo de luz sobre esta simple pregunta:

Tengo una aplicación web .NET que ha sido minuciosamente examinada. Carga una memoria caché por appdomain (proceso) cada vez que se inicia y no puede responder completamente a las solicitudes hasta que complete esta carga de caché.

He estado examinando la configuración de mis grupos de aplicaciones y he empezado a preguntarme por qué incluso reciclaba con tanta frecuencia (una vez cada 1,000,000 llamadas o 2 horas).

¿Qué me impediría establecer el reciclaje automático una vez cada 24 horas o incluso más? ¿Por qué no eliminar completamente la opción y simplemente reciclar si la memoria se sale de control para el dominio de aplicación?


Probablemente debería considerar el reciclado desde el punto de vista de la fiabilidad. En función de los datos históricos, debe tener una idea de cuánta memoria, CPU y demás utiliza su aplicación, y los patrones históricos y cuándo se producen problemas. Sabiendo eso, puede configurar el reciclaje para contrarrestar esos problemas. Por ejemplo, si sabe que su aplicación tiene un patrón de uso de memoria * cada vez mayor que hace que la aplicación se quede sin memoria después de un período de varios días, puede configurarla para que se recicle antes de que eso ocurra.

* Obviamente, también es posible que desee resolver este error, pero el reciclaje puede usarse para aumentar la confiabilidad para el cliente.


Si su aplicación se ejecuta confiablemente durante más tiempo que el umbral establecido para el reciclaje de la piscina de aplicaciones, entonces incremente el umbral por supuesto. No hay inconvenientes si tu aplicación es estable.

Para nosotros, hemos desactivado totalmente el reciclaje y, en su lugar, tenemos una tarea que carga una página de prueba por minuto y ejecuta un iisreset si no se carga cinco veces seguidas.