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
SELECT
AVG(avg_cpu_percent) AS 'Average CPU Utilization In Percent',
MAX(avg_cpu_percent) AS 'Maximum CPU Utilization In Percent',
AVG(avg_data_io_percent) AS 'Average Data IO In Percent',
MAX(avg_data_io_percent) AS 'Maximum Data IO In Percent',
AVG(avg_log_write_percent) AS 'Average Log Write Utilization In Percent',
MAX(avg_log_write_percent) AS 'Maximum Log Write Utilization In Percent',
AVG(avg_memory_usage_percent) AS 'Average Memory Usage In Percent',
MAX(avg_memory_usage_percent) AS 'Maximum Memory Usage In Percent'
FROM sys.dm_db_resource_stats;
- Diese DMV enthält Daten für 14 Tage mit einem Erfassungsintervall von 5 Minuten
SELECT start_time, end_time,
(SELECT Max(v)
FROM (VALUES (avg_cpu_percent), (avg_physical_data_read_percent), (avg_log_write_percent)) AS value(v)) AS [avg_DTU_percent]
FROM sys.resource_stats
WHERE database_name = '<your db name>'
ORDER BY end_time DESC;
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