2017-05-02 5 views
0

Wir haben eine ASP.NET MVC5-Website auf Azure AppServices gehostet.ASP.NET MVC Webseite Leistungsproblem auf Azure AppServices

Wir haben 2 verschiedene Instanzen dieser Seite auf Azure: 1 für Tests und 1 für die Produktion.

Diese 2 Instanzen sind in verschiedenen Azure-Plänen enthalten, aber alle in Betracht gezogenen Dienste befinden sich in derselben Region (Westeuropa).

Die erste scheint auf eine akzeptable Art und Weise zu funktionieren, aber wir haben Probleme beim Laden einiger Seiten auf der zweiten Seite (manchmal von 15s bis 30s Seitenladezeiten).

Jedes der Anwendungsinstanz ist zusammengesetzt:

  • ASP.NET MVC 5 (mit FormsAuthentication)
  • N-Tiers Architektur
  • EntityFramework 6.1.3
  • ApplicationInsights Service
  • 2 SqlServer-Datenbanken (1 für Geschäftsdaten & 1 für Sicherheitsdaten) in einem Azure Sql-Dienst

Der verwendete Azure-Plan ist "Basic (Small)" für AppServices und "S0 Standard (10 DTUs)" für SqlServices. Die erste läuft um 5% für CPU und 58% für Speicher. Die zweite läuft um 3% für DTU.

Mit AppInsights habe ich gesehen, dass "alles in Ordnung ist in Controller" und das Problem könnte von unten kommen. Ich habe auch einige Seitenladungen festgestellt, bei denen das Problem einen fehlgeschlagenen Sql-Abhängigkeitsaufruf darstellt (mit dem Ergebniscode 207).

Die Sql Anfragen reagieren Zeiten sind auch separat ok (unter 300ms).

Wir haben natürlich schon viele Posts über Azure-Performance-Probleme gelesen, aber nichts, was uns geholfen hat.

Wir würden wirklich einige Hilfe bitte schätzen. Vielen Dank!

Antwort

1

Aktivieren Sie den Profiler in Application Insights (das gleiche, was früher unter https://azureserviceprofiler.com lebte). Es ist jetzt unter der Performance Klinge.

Testen Sie Ihre Anwendung für ein paar Stunden, genug, um eine gute Menge an ETL-Spuren zu sammeln, um ein umfassendes Bild davon zu zeichnen, wo die Zeit verbracht wird.

traces

+0

Hallo @evilSnobu, Dank für Ihre schnelle Antwort:

Profiler

Ergebnisse wie folgt aussehen: Ein winziger "Spur" Symbol wird dann neben dem Controller zur Verfügung stehen. Ich hatte dieses Tool noch nicht in Azure gesehen, was eigentlich sehr nützlich ist. Aber nach 24 Stunden Einsatz zeigen nur 3 Operationen mit etwa 300ms Reaktionszeit das "Trace-Icon" wie Sie gesagt haben. SSo ich kann diese Information für den Moment nicht verwenden. Wissen Sie, wie Sie diesen Profiler zwingen, ETL bestimmter Operationen zu sammeln? (oder warum, in meinem Fall haben nur diese 3 Seiten das Symbol und keine anderen Operationen, die katastrophale Antwortzeiten seit der Aktivierung des Profilers gezeigt haben?) – Banov

+1

Das ist eine Frage für die App Insights Product Group. Versuchen Sie, ein Problem unter https://github.com/Microsoft/ApplicationInsights-Home/issues zu öffnen und/oder geben Sie hier einen Kommentar ein - https://docs.microsoft.com/en-us/azure/application-insights/app -Insights-Profiler. Oder noch besser, öffnen Sie einen Supportfall aus dem Azure-Portal und stellen Sie einen Link zu dieser Frage bereit. – evilSnobu

+0

Ja, wir haben bereits eine Supportanfrage an Microsoft zu unserem Problem gesendet. Nochmals vielen Dank für Ihre Hilfe – Banov