Hohe Reaktionszeit bei Azure Web App

Hohe Reaktionszeit bei Azure Web App

Ich habe eine RESTful-API entwickelt, die ich auf Azure Web App bereitgestellt habe. Während ich den Belastungstest mit JMeter durchführe, sehe ich, dass die Antwortzeit enorm ist, nämlich ca. 18 Sekunden. Diese Antwortzeit entsetzt mich, da der von mir freigegebene Endpunkt nur ca. 1–2 KB Textdaten empfängt und diese in die Azure Service Bus-Warteschlange einreiht.

Ich habe recherchiert und folgendes herausgefunden:

  1. Azure Web App und Queue müssen sich in derselben Region befinden.ja, sie sind
  2. Die Größe der VM ist wichtig.Meins ist S3 Large
  3. Das Softwaredesign muss gut/optimiert sein.Der Controller stellt nur Warteschlangen ein, keine anderen Vorgänge

Für den Belastungstest habe ich eine VM-Instanz in derselben Region wie die Azure Web App bereitgestellt, um die Latenz zu minimieren. Die Warteschlangenanweisung dauert einige Millisekunden. Ich frage mich also, was die zusätzlichen Sekunden dauert, während der Dienst geladen wird?

Mein Code erstellt eine einzelne Instanz von QueueClient, die ich für alle Anfragen wiederverwende. Der Code besteht nur aus den folgenden zwei Zeilen innerhalb eines ApiControllers

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

Antwort1

  1. Stellen Sie sicher, dass Ihre Azure WM-Instanzen in Bezug auf CPU, RAM, Festplatte und Netzwerk nicht überlastet sind. Sie können dies tun, indem Sie entwederAzure-DiagnoseerweiterungoderJMeter PerfMon-Plugin
  2. Stellen Sie sicher, dass Sie folgenBewährte Methoden für JMeter
  3. Versuchen Sie, die Last zu erhöhenschrittweise, auf diese Weise können Sie eine zunehmende Anzahl virtueller Benutzer mit einer zunehmenden Reaktionszeit korrelieren und feststellen, wann die Leistung nachlässt.
  4. Führen Sie Ihren Test mit der Profiler-Tool-Telemetrie aus (d. h. verbindenIhrKitoderdotTrace) - auf diese Weise können Sie feststellen, wo Ihre Anwendung so viel Zeit verbringt.

verwandte Informationen