My web API in .NET 6 on an app service is sometimes slow and sometimes fast. I want it to always be fast!

Hugo Gilea 0 Puntos de reputación
2024-06-25T13:25:47.8866667+00:00

I have a problem with my Azure app service. I deployed a web API created with .NET 6 and SQL Server on an Azure app service using a Premium v3 P1V3 195 2 8 250 plan. However, my web API is slow, and the database is an Azure SQL with 20 DTUs. There are moments when it is very fast, but it's like it goes to sleep and then gets fast again once usage starts. I investigated this issue, and the "always on" setting is activated, but that didn't solve my problem. What can I do to solve it? Also, CPU usage doesn't exceed 20%, and RAM usage doesn't exceed 35%, which are normal peaks. However, I don't know if I'm missing a configuration to avoid this behavior. It's worth noting that I am just starting to use it in Azure production, and the daily users do not exceed 10 on the application.

Azure
Azure
Plataforma e infraestructura de informática en la nube para crear, implementar y administrar aplicaciones y servicios a través de una red mundial de centros de datos administrados por Microsoft.
475 preguntas
ASP.NET
ASP.NET
Conjunto de tecnologías de .NET Framework para la creación de aplicaciones y servicios web XML.
46 preguntas
SQL Server
SQL Server
Familia de sistemas de análisis y administración de bases de datos relacionales de Microsoft para soluciones de comercio electrónico, línea de negocio y almacenamiento de datos.
119 preguntas
0 comentarios No hay comentarios
{count} votos

1 respuesta

Ordenar por: Lo más útil
  1. Jonathan Pereira Castillo 10,430 Puntos de reputación Proveedor de Microsoft
    2024-12-17T18:34:49.6233333+00:00

    ¡Hola Hugo Gilea!

    Esperamos que este mensaje te encuentre bien.

    Lamentamos sinceramente la demora en abordar tu tema en este foro.  

    Entiendo que estás experimentando problemas de rendimiento intermitente con tu API web en Azure. Aquí tienes algunos pasos que puedes seguir para intentar resolver este problema:

    Monitoreo del Rendimiento: Utiliza las herramientas de monitoreo integradas de Azure para rastrear el rendimiento de tu aplicación. Observa los tiempos de respuesta, el uso de CPU, el uso de memoria y cualquier pico en el consumo de recursos.

    Rendimiento de la Base de Datos: Dado que tu base de datos está en Azure SQL con 20 DTUs, asegúrate de que no sea un cuello de botella. Monitorea las métricas de rendimiento de la base de datos y considera escalar si es necesario. A veces, las consultas lentas o la falta de índices eficientes pueden causar problemas de rendimiento.

    Application Insights: Habilita Application Insights para tu API web. Esta herramienta proporciona datos de telemetría detallados, incluyendo tasas de solicitudes, tiempos de respuesta y tasas de fallos. Puede ayudarte a identificar áreas específicas donde el rendimiento está disminuyendo.

    Optimización del Código y Consultas: Revisa tu código de aplicación y las consultas SQL en busca de ineficiencias. Optimiza cualquier consulta de larga duración y asegúrate de que tu código sea lo más eficiente posible.

    Escalado y Autoescalado: Aunque tu uso actual es bajo, considera configurar reglas de autoescalado para manejar cualquier pico inesperado en el tráfico. Esto puede ayudar a mantener un rendimiento constante.

    Latencia de Red: Verifica si hay problemas de latencia de red que puedan estar afectando el rendimiento de tu aplicación. Asegúrate de que tu servicio de aplicaciones y la base de datos estén en la misma región para minimizar la latencia.

    Herramienta de Diagnóstico y Solución: Utiliza la herramienta de Diagnóstico y Solución en el portal de Azure para identificar y solucionar problemas de rendimiento. Esta herramienta puede proporcionar información y recomendaciones basadas en los problemas específicos que enfrenta tu aplicación.

    Siguiendo estos pasos, deberías poder identificar la causa raíz de los problemas de rendimiento y tomar las acciones adecuadas para resolverlos. Si el problema persiste, considera contactar al soporte de Azure para obtener asistencia más detallada.

    Si no recibimos una respuesta tuya en los próximos días, procederemos a cerrar el tema. Sin embargo, queremos asegurarte que siempre estamos disponibles para cualquier asistencia que puedas necesitar.

    Agradecemos tu comprensión y estamos aquí para ayudar en lo que sea necesario.

    Estaré atento a tu respuesta.,

     Jonathan

    ----------*

    Tu opinión es muy importante para nosotros! Si esta respuesta resolvió tu consulta, por favor haz clic en ''. Esto nos ayuda a mejorar continuamente la calidad y relevancia de nuestras soluciones.

    0 comentarios No hay comentarios

Su respuesta

Las respuestas pueden ser marcadas como Respuestas aceptadas por el autor de la pregunta, lo que indica a los usuarios que la respuesta resolvió su problema.