es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Baja velocidad en la primera solicitud enviada al IIS

Lentitud en la primera solicitud enviada al IIS.

Escenario:
Cuando se envía la primera solicitud a un sitio web en IIS o se envía una solicitud después de algún tiempo sin actividad, la respuesta tarda mucho más de lo esperado.

Se han intentado las siguientes acciones para resolver el problema:

  • Establecer la propiedad de Modo de Inicio del Grupo de Aplicaciones en AlwaysRunning.
  • Compilé como DLLs con Ngen.

Identifiqué este problema con código .Net Framework 4.X y .Net Core mayor a 2.x en WCF y API.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Posible solución para la lentitud en la primera solicitud enviada al IIS

    Si persiste el problema de la respuesta lenta en la primera solicitud enviada a un sitio web en IIS, existen varias posibles soluciones que se pueden investigar. Algunas acciones que se pueden tomar son:

    • Scripts de calentamiento: Esta es una de las soluciones más comunes que pueden ayudar a reducir el tiempo que se tarda en realizar la primera solicitud a IIS. Los scripts de calentamiento son herramientas automatizadas diseñadas para simular y realizar algunas de las operaciones necesarias que mejorarían el rendimiento de la aplicación. Los scripts pueden incluir la carga de algunos ensamblados necesarios, la precarga de la base de datos e incluso la precompilación de las vistas.
    • Habilitar la precarga en el grupo de aplicaciones: La precarga crea una instancia de un proceso de trabajo antes de recibir la primera solicitud. Esto ayudará a cargar procesos como los ensamblados y las bibliotecas, lo cual mejorará el rendimiento durante la primera solicitud.

    • Desactivar la reciclación del grupo de aplicaciones: La reciclación limpia y reinicia el grupo de aplicaciones en intervalos especificados, lo cual requerirá más tiempo para cargar la primera solicitud. Desactivar esta función eliminará el tiempo necesario para limpiar el grupo de aplicaciones durante la reciclación.

    • Utilizar la inicialización de la aplicación en IIS: Esta función está disponible desde IIS 7.5 y versiones posteriores. Permite que la aplicación se inicialice automáticamente utilizando una URL predefinida, lo cual puede ocurrir incluso antes de la primera solicitud. Esta función ayuda a cargar dependencias necesarias como las conexiones de base de datos.

    • Analizar la aplicación utilizando herramientas de perfilado: Se deben utilizar herramientas como ANTS Performance Profiler, dotTrace para analizar la aplicación, de esta forma se pueden identificar y optimizar llamadas de métodos lentos para aumentar la rapidez.

    En conclusión, el problema de la lentitud en la primera solicitud enviada a IIS es relativamente común en aplicaciones .Net. Las soluciones mencionadas anteriormente pueden utilizarse para resolver el problema y, si todas fallan, adaptarse a servicios en la nube como AWS, Azure o Google Cloud puede dar como resultado una optimización más rápida de las aplicaciones en IIS.

Comments are closed.