Yüksek VLF Sayıları SQL Performansınızı Nasıl Öldürür?

Yüksek VLF sayıları SQL Performansınızı Nasıl Öldürür? Kategori: Performans Sanal Günlük Dosyası (VLF) nedir? Transaction log dosyası fiziksel olarak dahili olarak birkaç log dosyasına (VLF) bölünmüştür. Bu sayı, aktif işlemlerin diske yazma sıklığına ve günlük dosyası için otomatik büyüme ayarlarına bağlı olarak büyüyebilir. Yüksek VLF sayıları ile yedeklemeler daha yavaş çalışır. UPDATE/DELETE gibi bazı TSQL işlemleri…

July 14, 2021 by Aryasoft IT

Yüksek VLF sayıları SQL Performansınızı Nasıl Öldürür?

Kategori: Performans

Sanal Günlük Dosyası (VLF) nedir?

Transaction log dosyası fiziksel olarak dahili olarak birkaç log dosyasına (VLF) bölünmüştür.

Bu sayı, aktif işlemlerin diske yazma sıklığına ve günlük dosyası için otomatik büyüme ayarlarına bağlı olarak büyüyebilir.

Yüksek VLF sayıları ile yedeklemeler daha yavaş çalışır.

UPDATE/DELETE gibi bazı TSQL işlemleri daha uzun sürer.

SQL Engine hizmetinin başlaması uzun sürüyor. Çoğaltma/AlwaysOn/Mirroring/Log gönderimi ve diğer işlemler – hepsi zarar görür.

Sorun nasıl belirlenir?

DBCC LOGINFO kullanarak VLF sayısı hakkında bilgi alabilirsiniz.

Daha yeni SQL Server sürümleri için (SQL Server 2016 SP2 ve sonrası), SQL Dinamik Yönetim İşlevlerini (DMF’ler) kullanan aşağıdaki sorguyu kullanabilirsiniz.

SELECT [name] AS ‘Database Name’,

COUNT(l.database_id) AS ‘VLF Count’,

SUM(CAST(vlf_active AS INT)) AS ‘Active VLF’,

COUNT(l.database_id)-SUM(CAST(vlf_active AS INT)) AS ‘Inactive VLF’,

SUM(vlf_size_mb) AS ‘VLF Size (MB)’,

SUM(vlf_active*vlf_size_mb) AS ‘Active VLF Size (MB)’,

SUM(vlf_size_mb)-SUM(vlf_active*vlf_size_mb) AS ‘Inactive VLF Size (MB)’

FROM sys.databases s

CROSS APPLY sys.dm_db_log_info(s.database_id) l

GROUP BY [name]

ORDER BY COUNT(l.database_id)

 

VLF 50’nin altında olduğunda – yok sayabilirsiniz.

100 – 200 arasındayken göz ardı edebilirsiniz, ancak düzeltmek daha iyidir.

400’ün üzerinde olduğunda – acil hale geliyor, bu yüzden düzeltiniz.

600’ün üzerinde olduğunda – yavaşlamalar oluyor, ancak bunları teşhis etmek kolay değildir.

5000’in üzerine çıktığında, hemen düzeltiniz.

Nasıl düzeltilir?

  1. Veritabanı varsayılan büyüme ayarlarını düzeltin.
  2. İşlem günlüğü dosyalarını küçültün ve boyutları ayarlamak için önceden büyütün.

Size ve Veritabanlarınıza Yardımcı Olmak İçin Bekliyoruz!