iis-7 - optimize - performance iis
WCF Performance Slow para la primera llamada (2)
Es a causa de la gestión de procesos en IIS. Cuando no hay llamadas durante cierto período de tiempo, IIS libera los recursos y detiene el proceso. Es por eso que puede notar que es lento para la primera solicitud y para las solicitudes después de un largo retraso. Porque mientras la primera solicitud o después de un largo período de silencio, IIS carga todo desde cero. El compilador JIT se ejecuta y etc.
También tenga en cuenta: cuando aloja servicios WCF en IIS, los servicios WCF disfrutan de todas las características de las aplicaciones ASP.NET. Debe tener en cuenta estas características, ya que pueden causar un comportamiento inesperado en el mundo de los servicios. Una de las principales características es el reciclaje de aplicaciones, que incluye el reciclaje de dominios de aplicaciones y el reciclaje de procesos. A través de la Consola de administración de IIS, puede configurar diferentes reglas cuando desee que se realice el reciclaje. Puede establecer ciertos umbrales en la memoria, a tiempo y en la cantidad de solicitudes procesadas. Cuando IIS recicla un proceso de trabajo, todos los dominios de aplicación dentro del proceso de trabajo también se reciclarán
Si necesita el inicio automático : El Administrador de control de servicios de Windows le permite establecer el tipo de inicio en automático, de modo que tan pronto como se inicie Windows, el servicio se iniciará, sin un inicio de sesión interactivo en la máquina. Entonces puede usar el servicio de Windows como host.
Más detalles puede consultar Hosting y consumir WCF Services .
Tengo un servicio WCF instalado en IIS7. Noté que la primera llamada a mi servicio siempre es muy lenta. Las llamadas siguientes son mucho más rápidas y aceptables.
Si no se realizan llamadas al servicio durante un tiempo, vuelve al modo de suspensión. Después de esto, la próxima llamada nuevamente toma mucho tiempo.
¿Algún remedio para este problema?
Hay otro enfoque a través del cual puedes mejorarlo. Tenemos algún tipo de proceso diseñado que sigue golpeando nuestro servidor como cada 5 minutos con peticiones de ''búsqueda'' muy ligeras para mantener todos los servidores "calientes" (cargando la mayoría de los dlls requeridos, etc.) para que la experiencia del usuario sea mucho mejor.
Estoy de acuerdo en que no es una forma infalible, pero aún así es algo que puede considerar aparte de aumentar la configuración de reciclaje en IIS.