Metrik "DTU-Prozentsatz" der Azure SQL-Datenbank

85

Bei der neuen Schichtstruktur der Azure SQL-Datenbank scheint es wichtig zu sein, die "DTU" -Nutzung Ihrer Datenbank zu überwachen, um zu wissen, ob ein Upgrade oder ein Downgrade auf eine andere Schicht durchgeführt werden soll.

Beim Lesen von Azure SQL-Datenbankdienststufen und Leistungsstufen wird nur die Überwachung mit der prozentualen Auslastung von CPU, Daten und Protokoll behandelt.

Wenn ich jedoch neue Metriken hinzufüge, habe ich auch eine DTU-Prozentoption :

Datenbankmetriken hinzufügen

Ich kann online nichts darüber finden. Ist dies im Wesentlichen eine Zusammenfassung der anderen DTU-bezogenen Metriken?

Dave New
quelle

Antworten:

98

Eine DTU ist eine Maßeinheit für die Leistung einer Serviceebene und eine Zusammenfassung mehrerer Datenbankmerkmale. Jeder Serviceebene ist eine bestimmte Anzahl von DTUs zugewiesen, um das Leistungsniveau einer Ebene mit einer anderen zu vergleichen.

Database Throughput Unit (DTU): DTUs bieten eine Möglichkeit, die relative Kapazität eines Leistungsniveaus von Basic-, Standard- und Premium-Datenbanken zu beschreiben. DTUs basieren auf einem gemischten Maß aus CPU, Speicher, Lese- und Schreibvorgängen. Mit zunehmender DTU steigt die Leistung, die das Leistungsniveau bietet. Ein Leistungsniveau mit 5 DTUs hat beispielsweise fünfmal mehr Leistung als ein Leistungsniveau mit 1 DTU. Für jeden Server gilt ein maximales DTU-Kontingent.

Das DTU-Kontingent gilt für den Server, nicht für die einzelnen Datenbanken, und jeder Server verfügt über maximal 1600 DTUs. Der DTU% ist der Prozentsatz der Einheiten, die Ihre bestimmte Datenbank verwendet, und es scheint, dass diese Zahl über 100% der DTU-Bewertung der Serviceebene liegen kann (ich gehe von der Grenze des Servers aus). Diese Prozentzahl soll Ihnen bei der Auswahl der geeigneten Serviceebene helfen.

Von unten nach unten in dieser Ankündigung :

Wenn Ihr DTU-Verbrauch beispielsweise einen Wert von 80% anzeigt, bedeutet dies, dass er DTU mit einer Rate von 80% des Grenzwerts verbraucht, den eine S2-Datenbank haben würde. Wenn Sie in dieser Ansicht Werte größer als 100% sehen, bedeutet dies, dass Sie eine Leistungsstufe größer als S2 benötigen.

Angenommen, Sie sehen einen Prozentwert von 300%. Dies zeigt Ihnen, dass Sie dreimal mehr Ressourcen verbrauchen, als in einem S2 verfügbar wären. Um eine angemessene Startgröße zu ermitteln, vergleichen Sie die in einem S2 verfügbaren DTUs (50 DTUs) mit den nächsthöheren Größen (P1 = 100 DTUs oder 200% von S2, P2 = 200 DTUs oder 400% von S2). Da Sie bei 300% von S2 sind, möchten Sie mit einem P2 beginnen und erneut testen.

embedded.kyle
quelle
1
Ich suche und habe es immer noch nicht gefunden. Was zeigt dieser DTU-Prozentsatz, wenn wir uns bereits auf einer neuen Ebene befinden? Wenn ich auf S0 bin, zeigt der DTU-Prozentsatz jetzt den S0-Graphen an oder zeigt er immer noch "im Vergleich zu s2" an? Es ist wirklich eine einfache Sache, die unklar ist.
Sumit Gupta
1
@SumitGupta Das Diagramm wird zurückgesetzt / geleert, wenn Sie die Ebene wechseln, sodass Sie keine alten Daten zum Anzeigen haben und die neue DTU-Skala der Ebene sofort wirksam wird.
Andrew
Ich verwende derzeit Azure SQL und habe nur wenige Datenbanken. Das hier erwähnte Kontingentlimit pro Server ist nicht korrekt oder zumindest veraltet. DTU-Kontingente werden durch die Preisstufe bestimmt, die für jede Datenbank und nicht für den Server spezifisch ist. Möglicherweise wurde der von Ihnen zitierte Referenzlink nach Ihrem Beitrag geändert. ... oder vermisse ich etwas? Vielen Dank.
Vladislav
15

Immer noch nicht cool genug, um einen Kommentar abzugeben, aber in Bezug auf @ vladislavs Kommentar war der ursprüngliche Artikel ziemlich alt. Hier ist ein Update-Dokument zu DTUs, das bei der Beantwortung der Frage des OP helfen würde.

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-what-is-a-dtu

Jeff Patton
quelle
Dieser Link ist das einzige Azure-Portal, das als Antwort auf die Frage "Was ist eine DTU?" Bereitstellt. Danke dafür.
Ayushmati
13

Aus diesem Dokument wird dieser DTU-Prozentsatz durch diese Abfrage bestimmt:

SELECT end_time,   
  (SELECT Max(v)    
   FROM (VALUES (avg_cpu_percent), (avg_data_io_percent), 
(avg_log_write_percent)) AS    
   value(v)) AS [avg_DTU_percent]   
FROM sys.dm_db_resource_stats;  

sieht aus wie das Maximum von avg_cpu_percent, avg_data_io_percentundavg_log_write_percent

Referenz:

https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-db-resource-stats-azure-sql-database

Jyong
quelle
4

DTU ist nichts anderes als eine Mischung aus CPU, Speicher und E / A. Warum brauchen wir eine Mischung, wenn diese 3 ziemlich klar sind? Weil wir eine Einheit für die Macht wollen. Aber es ist in vielerlei Hinsicht immer noch verwirrend. Beispiel: Wenn ich einfach den Speicher vergrößere, erhöht sich dann die Leistung (DTU)? Wenn ja, wie kann DTU eine Mischung sein? Es ist ein Ja. In diesem Fall der Speichererhöhung entspricht die DTU gemäß der Abfrage in der Antwort von jyong dem Speicher (da wir ihn erhöht haben). MS hat sogar ein Preismodell, das auf dieser DTU basiert, und es hat viele Fragen aufgeworfen.

Aufgrund dieser Verwirrungen und Fragen wollte die MS eine weitere Option einbringen. Wir hatten bereits einige Spezifikationen vor Ort. Warum können wir sie nicht verwenden? Als Ergebnis wurde das 'vCore-Preismodell' geboren. In diesem Modell haben wir Einblick in RAM und CPU. Aber nicht im DTU-Modell.

Das Gegenargument der DTU wäre, dass DTU-Kennzahlen mithilfe eines Benchmarks kalibriert werden, der die reale Datenbankauslastung simuliert. Und dass wir nicht mehr vor Ort sind;). Ja, es wurde im Hinblick auf Cloud Computing entwickelt (wird aber auch in OLTP-Workloads verwendet).

Das ist aber noch nicht alles. Nachdem wir das Preismodell eingegeben haben, ändert sich die Gleichung. Die Frage ist jetzt über Geld und das Bundle (was alle Funktionen enthalten sind). Hier hat die DTU einige Vorteile (so wie ich es sehe), aber Unternehmen mit vielen vorhandenen Lizenzen würden dem nicht zustimmen.

  • DTU hat einen Preis (Compute + Storage + Backup). Einfacher und kann mit niedrigeren Preisen beginnen.
  • vCore hat unterschiedliche Preise (Compute, Storage). Software Assurance finden Sie hier. Unternehmen verfügen über On-Premise-Lizenzen, die hier problemlos portiert werden können (sodass sie große Maschinen zu einem günstigeren Preis als das DTU-Modell erhalten). Außerdem verpflichten sie sich für mehrere Jahre und erhalten zusätzliche Rabatte.

Bei Bedarf können wir zwischen beiden wechseln. Wenn Sie sich nicht sicher sind, beginnen Sie mit DTU (Basic / Standard / Premium).

Wie können wir wissen, welche Preisstufe wir verwenden sollen? Gehen Sie zum Konfigurationsmenü wie folgt: (rechts / links können Sie zwischen beiden wechseln) VCore

DTU

Obwohl Vcore eine größere "Maschine" ist und für größere Dinge, können die Kosten für Unternehmensorganisationen manchmal günstiger sein. Hier ist ein Beweis. DTU kostet 147 US-Dollar. Aber Vcore kostet 111 Dollar. Dies liegt daran, dass Sie sich für 3 Jahre verpflichten können (aber dennoch monatlich zahlen) und auch an der Option zur Wiederverwendung von Lizenzen (Unternehmen verfügen über lokale Lizenzen).

Kosten DTU

Geben Sie hier die Bildbeschreibung ein

Es ist ein bisschen zu viel als die Beantwortung einer direkten Frage, aber ich werde dies vervollständigen, indem ich beantworte, wie man zwischen verschiedenen Optionen in der DTU wählt, geschweige denn zwischen DTU und vCore wählt. Dies wird in diesem schönen Blog beantwortet und dieses Flussdiagramm erklärt alles

Geben Sie hier die Bildbeschreibung ein

Blaue Wolken
quelle
So informativ! Besonders hilfreich sind die Screenshots vom Azure-Portal.
Ayushmati
0

Um die genaue Nutzung Ihrer Dienste zu überprüfen, sei es kostenlos (wie immer kostenlos oder 12 Monate kostenlos) oder Pay-As-You-Go, ist es wichtig, die Nutzung zu überwachen, damit Sie im Voraus wissen, welche Kosten anfallen oder wann Aktualisieren Sie Ihre Serviceebene.

Um Ihre kostenlose Dienstnutzung und ihre Grenzen zu überprüfen, gehen Sie zur Suche im Portal, suchen Sie mit "Abonnement" und klicken Sie darauf. Sie sehen die Details jedes Dienstes, den Sie verwendet haben.

Im Falle von kostenlosem Azure von Microsoft sehen Sie die Kosten, die für jedes einzelne anfallen.

Besuchen Sie Überprüfen Sie die Nutzung der kostenlosen Dienste, die in Ihrem kostenlosen Azure-Konto enthalten sind Geben Sie hier die Bildbeschreibung ein

Hoffe das hilft jemandem!

Karthik
quelle