Alto tiempo de respuesta en la aplicación web de Azure

Alto tiempo de respuesta en la aplicación web de Azure

Desarrollé una API RESTful que implementé en la aplicación web Azure. Mientras realizo la prueba de carga con JMeter, veo que el tiempo de respuesta es enorme, es decir, ~18 segundos. Este tiempo de respuesta me horroriza porque el punto final que he expuesto solo recibe entre 1 y 2 KB de datos de texto y los pone en la cola del bus de servicio azul.

He investigado y encontré lo siguiente:

  1. La aplicación web y la cola de Azure deben estar en la misma región.sí lo son
  2. El tamaño de la VM importa.El mío es S3 grande.
  3. El diseño de software debe ser bueno/optimizado.El controlador solo se pone en cola, no hay otras operaciones

Para las pruebas de carga, aprovisioné una instancia de VM en la misma región que la aplicación web de Azure para minimizar la latencia. La declaración de puesta en cola lleva un tiempo del orden de milisegundos, por lo que me pregunto por qué se necesitan esos segundos adicionales mientras el servicio está en carga.

Mi código crea una única instancia de QueueClient que reutilizo para todas las solicitudes. El código son solo las siguientes dos líneas dentro de un ApiController

ServiceBusManager.GetQueueWriter().Enqueue(data); //data is no more than ~1KB 
return Request.CreateResponse(HttpStatusCode.OK, "Data enqueued");

Respuesta1

  1. Asegúrese de que sus instancias de Azure WM no estén sobrecargadas en términos de CPU, RAM, disco y red. Puedes hacerlo usando cualquieraExtensión de diagnóstico de AzureoComplemento JMeter PerfMon
  2. Asegúrate de seguirMejores prácticas de JMeter
  3. Intenta aumentar la carga.gradualmenteDe esta manera, podrá correlacionar un número cada vez mayor de usuarios virtuales con un tiempo de respuesta cada vez mayor y podrá indicar cuándo el rendimiento comienza a degradarse.
  4. Ejecute su prueba con la telemetría de la herramienta Profiler (es decir, conecteTuKitopuntoTrace): de esta manera podrá saber dónde pasa tanto tiempo su aplicación.

información relacionada