Azure-Webrolle und SQL Azure Latency
Hi Nur um zu wissen, dass es zwischen der Web-Worker-Rolle und SQL Azure eine Latenz und ein Timeout gibt, Event a Timeout zu bestimmten Zeiten (Diese a sind nicht zufällig häufig) 40% von 100 Pings haben kein 0ms Timeout
Wenn Web Worker-Rolle und SQL Azure im selben Rechenzentrum WARUM gibt es eine Zeitüberschreitung, da sie über ihr internes Netzwerk kommunizieren
Bitte beachten Sie die beigefügten Screenshots:
Die Anwendung, die auf dieser Web-Worker-Rolle läuft, hat mysteriöse Performance-Ups und -Downs. Das kann verschiedene Gründe haben, aber was muss ich wissen: Beeinflussen diese Statistiken über Latenz und Timeout die Performance von Webanwendungen? p>
Danke,
Zunächst müssen Sie wissen, dass die Windows Azure SQL-Datenbank ein mandantenfähiges RDBMS mit hoher Dichte ist, das als Dienst angeboten wird. Das bedeutet, dass ein einzelner Server von möglicherweise hunderten von Kunden verwendet wird.
Ich schlage auch vor, dass Sie die SLA für die Dienste kennenlernen, Windows Azure SQL-Datenbank im Besonderen. Niemand hat jemals behauptet, dass es 0ms Latenz geben wird. Es gibt auch so etwas wie "Transient Conditions" (Transiente Bedingungen) "in der Windows Azure SQL-Datenbank.
Ein guter Vorschlag ist die Windows Azure SQL Datenbank Performance und Elasticity Guide .
Was die Leistung der Webanwendung anbelangt, so glaube ich nicht, dass nach dem Lesen des Leistungs- und Elastizitätsleitfadens die 200ms, die gelegentlich auftreten, der Kern-Engpass sind.
UPDATE nach dem ersten Kommentar
Sie werden immer Höhen und Tiefen in einer gemeinsamen Umgebung haben. Sie sollten auch erwarten, dass sich die Ausführungszeiten von Abfragen ändern. Dies ist in dieser Umgebung unvermeidlich und es muss etwas entworfen und gelebt werden. Hier gibt es keinen Zauberstab, und im Fall von Windows Azure SQL Database gibt es keinen dedizierten Server für Sie. Wenn Sie der Meinung sind, dass Ihre App zuverlässigere SQL Server-Dienste benötigt, können Sie die Windows Azure Virtual Machines versuchen und einen SQL Server-Cluster selbst erstellen. Ich denke (und das ist nur eine Vermutung), dass die Kommunikation zwischen Ihrem Cloud-Dienst und Ihren VMs, vorausgesetzt, dass alles in derselben Verfügbarkeit ist, vorhersehbarer ist.
Aktualisierung nach dem zweiten und dritten Kommentar:
Nun ja, vielleicht haben Sie Lizenzprobleme (ich bin der Experte für Lizenzierung). Ist das Ticket für die Höhen und Tiefen geöffnet? Wenn ja, können Sie versuchen, es zu eskalieren (weiß nicht wie, aber Sie haben Ihre Ticket-ID, Sie müssen auch einen Techniker zugewiesen haben und eine E-Mail über das Ticket - Antwort an alle auf diese E-Mail) . Wenn Sie das Ticket erstellt haben, muss auch ein kleiner Fragebogen vorhanden sein, um die geschäftlichen Auswirkungen Ihres Problems widerzuspiegeln. Dann muss dem Ticket eine übliche Antwortzeit zugewiesen worden sein. Wenn der Support nicht innerhalb dieser Zeit zu Ihnen zurückkommt, können Sie es definitiv eskalieren.
AKTUALISIEREN
Interessante Beobachtung, die ich habe, ist, dass in all Ihren Screenshots nur das erste Paket verzögert ist, dann hat jedes aufeinanderfolgende 0 Latenz. In allen Proben, die Sie zur Verfügung stellen. Wenn dies in 10 von 10 Fällen der Fall ist, haben Sie definitiv keine Probleme mit der Latenz. Ich schlage vor, dass Sie die Option "-t" im regulären Ping verwenden, um mehr als 4 Pakete zu senden und zu beobachten. Ich schlage vor, bei etwa 100 Paketen zu brechen und dann die Ergebnisse zu beobachten. Ich würde 4 Paketproben nicht berücksichtigen, wo nur die erste Latenz für jede Leistungsüberprüfung hat.
Ich habe dies in einem anderen Thread gepostet, aber es ist alt und wurde geschlossen. Ich denke, dass es einige Ihrer Probleme hervorhebt.
Ich habe versucht, unsere Business-App in die Cloud zu verschieben. In Anbetracht der Tatsache, dass unsere Server vor Ort über 8 Jahre alt sind, sollte es bei den Azure-Diensten eine deutliche Verbesserung geben. Als wir jedoch unsere App testeten und die Cloud versus onsite verglichen, stellten wir fest, dass es in der Cloud fast dreimal so viel Latenz gab wie vor Ort (mehr als 8 Jahre alte Server) und 20% latenter, wenn man sie mit modernen Geräten vergleicht. Unsere App ist eine asp.net App und die DB ist etwa 11 GB groß.
SQL Azure und Leistung
Ich mag Azure als Konzept. Ich mag die Optionen. Ich mag die Erweiterbarkeit, aber ich mag die Leistung nicht. Ich hoffe, dass Microsoft etwas mehr Aufmerksamkeit darauf verwendet und einige Änderungen vornimmt, da niemand sein Geschäft dorthin verlagern sollte, bis dies behoben wurde.
Tests
Tests werden ausgeführt, indem eine Reihe von Abfragen ausgeführt wird, die auf genau die gleichen Daten zugreifen und über eine benutzerdefinierte Funktion im Code ausgeführt werden, die die Antwortzeit von der Erstellung eines Objekts bis zur entsorgten Zeit misst (gezwungen, in die Datenbank zu schreiben) ). Dieses Objekt umschließt den Code, der getestet wird.
Es wurde kein Caching für den Test aktiviert, aber ich habe den Code und die DB bereits einmal ausgeführt und die besten Ergebnisse erzielt, so dass der DB-Server die Abfrage optimieren konnte und der Webserver die Baugruppen ordnungsgemäß laden konnte .
Test 1 - Web und DB auf demselben guten Rechner
Test 2 - Web und DB auf demselben Rechner
Test 3 - Web getrennt von DB
Test 4 - Azure
Schlussfolgerungen
Tun Sie es nicht, bis sie das Problem behoben haben und nehmen Sie sich die Zeit, sie wissen zu lassen, dass es auch für Sie ein Problem ist.
Tags und Links azure performance azure-sql-database latency