wake-up-neo.com

Metrik "DTU-Prozentsatz" der Azure SQL-Datenbank

Mit der neuen Azure SQL-Datenbankebenenstruktur scheint es wichtig zu sein, die Verwendung der Datenbank-DTU zu überwachen, um festzustellen, ob ein Upgrade oder ein Downgrade auf eine andere Ebene durchgeführt werden soll.

Beim Lesen von Ebenen und Leistungsstufen des Azure SQL-Datenbankdiensts wird nur die Überwachung mit CPU-, Daten- und Protokollprozentsatz behandelt.

Wenn ich jedoch neue Metriken hinzufüge, habe ich auch die Option DTU-Prozentsatz :

Add Database Metrics

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

74
Dave New

Eine DTU ist eine Maßeinheit für die Leistung einer Serviceebene und eine Zusammenfassung mehrerer Datenbankmerkmale. Jeder Service-Schicht ist eine bestimmte Anzahl von DTUs zugewiesen, um auf einfache Weise die Leistung einer Schicht mit der einer anderen vergleichen zu können.

Database Throughput Unit (DTU): DTUs bieten eine Möglichkeit, die relative Kapazität eines Leistungsniveaus von Basic, Standard, und Premium-Datenbanken. DTUs basieren auf einer kombinierten Messung von CPU, Speicher, Lese- und Schreibvorgängen. Mit zunehmenden DTUs steigt die vom Leistungsniveau gebotene Leistung. Beispielsweise hat eine Leistungsstufe mit 5 DTUs eine fünfmal höhere Leistung als eine Leistungsstufe 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. Die 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 vom Limit des Servers aus). Diese Prozentzahl soll Ihnen bei der Auswahl der geeigneten Serviceebene helfen.

Von unten nach unten in diese Ansage :

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 verwenden, als in einem S2 verfügbar wären. Um eine vernünftige 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.

87
embedded.kyle

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 den DTUs, das bei der Beantwortung der Frage des OP hilfreich ist.

https://docs.Microsoft.com/en-us/Azure/sql-database/sql-database-what-is-a-dt

13
Jeff Patton

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_percent und avg_log_write_percent

Referenz:

https://docs.Microsoft.com/de-de/sql/relational-databases/system-dynamic-management-views/sys-dm-db-resource-stats-Azure-sql-database

11
jyong