Wir haben kürzlich einen schwerwiegenden Leistungsabfall in einer SQL Azure-Datenbank beobachtet, die in der Leistungsstufe Standard3 ausgeführt wird. Die CPU-Auslastung stieg in nur einer Stunde von zehn Prozent auf fünfzig Prozent auf fast einhundert Prozent. Daher haben wir die Leistungsstufe auf Premium2 geändert und die CPU-Auslastung sank sofort auf etwa acht Prozent.
Standard3 soll 100 DTUs anbieten und Premium2 soll 250 DTUs anbieten. Dies bedeutet, dass acht Prozent von P2 nur zwanzig DTUs sind, was weit davon entfernt ist, alle 100 DTUs in Standard3 zu verwenden.
Sind diese DTUs unterschiedlich? Wie ist sonst dieser plötzliche Nutzungsausfall beim Wechsel von einer Leistungsstufe von 100 DTUs zu einer Leistungsstufe von 250 DTUs möglich?
quelle
Antworten:
Ich war ähnlich verwirrt, als ich die Preise für diese beiden Ebenen betrachtete. 100 DTUs auf Standard kosten 150 USD / Monat und 125 DTUs auf Premium kosten 465 USD / Monat. Ich dachte, etwas anderes muss diese Ungleichheit erklären. Ich denke, diese Zeile von https://docs.microsoft.com/en-us/azure/sql-database/sql-database-service-tiers-dtu#choosing-a-service-tier-in-the-dtu-based -einkaufsmodell muss den unterschied erklären:
Es sieht also so aus, als wäre eine Premium-DTU 19-mal mehr wert als eine Standard-DTU
quelle
Die Leistung von Azure-Datenbanken wird in DTUS ausgedrückt, dh der Anzahl der Transaktionen, die pro Sekunde ausgeführt werden können. Außerdem wird die maximale Speichermenge, CPU und E / A begrenzt, die Ihre Datenbank erhält. Weitere Informationen finden Sie in der folgenden Tabelle Achten Sie auf den Abschnitt Sitzungsanfragen.
Ich hoffe, dass das obige Bild die Unterschiede zwischen verschiedenen Datenbankebenen verdeutlicht. Weiter unten wird in Azure Documentation angegeben, wann verschiedene Datenbankebenen verwendet werden sollen.
Wann immer Sie die Leistung der Azure-Datenbank schätzen möchten, sollten Sie unten DMVS überprüfen, das weitere Details zur DTU-Nutzung enthält, ausgedrückt in E / A, Protokoll, Speicher, CPU.
- Diese DMV enthält Daten für nur eine Stunde, die jedoch alle 15 Sekunden erfasst werden
- Diese DMV enthält Daten für 14 Tage mit einem Erfassungsintervall von 5 Minuten
Immer wenn Sie eine DTU-Metrik konstant bei 90% sehen, ist dies ein Indikator für den Flaschenhals und kann auf die gleiche Weise behoben werden. Wir beheben Fehler auf unseren On-Prem-Servern.
Angenommen, Sie sehen die CPU für einen bestimmten Zeitraum konstant bei 90% der von DMV erfassten Daten. Sie können mit dem Sammeln von Abfragen beginnen, die eine hohe CPU verursachen, und prüfen, ob sie so eingestellt werden können, dass sie weniger CPU verbrauchen Wenn Ihre Optimierungsbemühungen erschöpft sind, müssen Sie möglicherweise definitiv auf eine höhere Stufe upgraden
Referenzen: https://azure.microsoft.com/en-in/documentation/articles/sql-database-performance-guidance/#monitoring-resource-use-with-sysresourcestats
quelle
avg_cpu_percent
nach dem Wechsel von S3 zu P2 von 100 Prozent auf 8 Prozent gesenkt wurde.Diesmal war der Grund dafür, dass SQL Azure seine Meinung geändert hat, welcher Index für eine häufig ausgeführte Abfrage verwendet werden soll. SQL Azure entscheidet manchmal, dass das Ändern eines verwendeten Index möglicherweise eine gute Idee ist (basierend auf gesammelten Metriken). Zum Zeitpunkt der Beobachtung des Problems war dieser Mechanismus nicht validiert. Sobald die Abfrage auf einen anderen Index umgestellt wurde, validierte das Datenbankmodul nicht, ob tatsächlich eine Verbesserung vorliegt. Keine Ahnung, ob sich dies seitdem geändert hat. Der Weg, um diese Situation zu
WITH INDEX
umgehen, ist die Verwendung von Hinweisen.Die von uns beobachtete Leistungsverbesserung war nicht darauf zurückzuführen, dass die Leistungsstufe selbst geändert wurde. Gerade als Standard auf Premium umgestellt wurde, gab es vermutlich eine Hardwareänderung. Daher wurden die Datenbankstatistiken gelöscht und das Datenbankmodul überprüfte die Abfragepläne erneut, und so wechselten wir zu Premium Der Motor wurde gerade auf den alten Plan zurückgesetzt, deshalb haben wir damals die Leistungsverbesserung erhalten.
quelle
Wenn Sie nach dem neuen Azure SQL vCore- basierten Vergleich suchen , sollten diese Artikel von Websites von Drittanbietern und offiziellen Microsoft-Websites weitere Informationen enthalten.
quelle