Azure SQL Veritabanı için DTU sorununu giderme
  1. Anasayfa
  2. SQL Server

Azure SQL Veritabanı için DTU sorununu giderme

0

Azure SQL veritabanı kullandığınızda / kullanmaya başladığınızda DTU ( Database Transaction Unit ) isimli bir kavram ile karşılaşırsınız. DTU ise, harmanlanmış bir CPU, Data,IO, Log Writes ve memory ölçüsü olmasıdır. Veritabanı için yüksek DTU tüketildiğine dair bir uyarı aldıysanız nedenini araştırmak için ilk adım, DTU’nun hangi değerin gerçekten yükseldiğini ( CPU, Data,IO vs ) bulmak olacaktır.

Aşağıdaki query kullanarak son 14 günün DTU değerlerinin ortalamasını görebilirsiniz.

Çıktıdaki başlangıç ve bitiş zamanı UTC olarak gelmektedir. Buna Dikkat etmeniz gerekmektedir.

SELECT
[start_time]
,[end_time]
,[database_name]
,[avg_cpu_percent]
,[avg_data_io_percent]
,[avg_log_write_percent]
,(
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.resource_stats
–WHERE [database_name] = ‘DB Name Here’
ORDER BY start_time desc

Resim-2

Eğer ki DTU alarmını şimdi gerçekleştiyse, etkilenen veritabanı için aşağıdaki sorguyu çalıştırabilirsiniz. ( Her 15 saniyede bir toplanan verileri vermektedir.)

SELECT
end_time
,[avg_cpu_percent]
,[avg_data_io_percent]
,[avg_log_write_percent]
,(
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

Resim-2

Azure Portal’daki DTU grafiği, yukarıdaki iki komut dosyasında DMV’ler tarafından sorgulanan verilerle aynı veriler kullanılarak çizilir.

Yukarıdaki sorguları kullanarak DTU alarmının hangi metrikten kaynaklandığını öğrenmiş olduk. Simdi sırada suçlu sorguları gözden geçirme zamanı. Bu işlemi de Query Store verilerini sorgulayarak gerçekleştirebiliriz. Query store ile ilgili içeriği ise yakın zamanda mshowto’da bulabilirsiniz.

 

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar
www.mshowto.org
https://sqlshots.com/blog/help-troubleshooting-high-dtu-utilisation/

Tags : azure, azure sql, database transaction unit, dtu, dtu kontrol, dtu sorunu, dtu sql server, sys.resource_stats

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 1
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Milenyumdan beri ilginç bir merak duygusu ile başlayan bilgisayar ve teknoloji dünyası merakı sayesinde eğitim yaşantımı doğup büyüdüğüm Düzce'de geçirdim. Sonrasında Düzce'nin kendimi geliştirmek adına yeterli imkanlara sahip olmadığından İstanbul'a gelip Bilge Adam Eğitim Kurumlarından Yazılım ve Veritabanı eğitimi aldım. Eğitimimi tamamlarken çeşitli Windows ve Web uygulamaları geliştirdim.Sırası ile Sentez Yazılım, Nebim Yazılım, Ciceksepeti, Doğan Holding, Kariyer.Net, TurkNet gibi firmalarında Yönetici / Müdür pozisyonlarında farklı ünvanlarda ( Yazılım Geliştirici / Raporlama ve Veritabanı Yöneticisi gibi) görev aldım. Şimdilerde ise DMC Bilgi Teknolojileri firmasının Kurucu Ortaklığını ve Veritabanı Danışmalığı Hizmeti vermekteyim.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir