Buffer cache hit ratio ve read-ahead read


Öncelikle buffer cache hit ratio ne demek?

SQL Server’ın performansını ölçerken kullanılan önemli performans sayaçlarından biridir. Gelen sayfa taleplerinin yüzde kaçının zaten bellekte var olduğuna dair bir oran verir. Bunun yüzde 90’ın üzerinde olmasını bekleriz. Servis ilk açıldığında oran düşük olup zamanla yükselebilir. Sık kullanılan sayfaların belleğe yerleşmiş olmasıyla…

Bir sistemin zaman içindeki değişimini izlediğim ve kendi normallerimi oluşturduğum bir durum varsa, buffer cache hit ratio için yüzde 90’ın da üzerinde bir hedefim de olabilir.

Peki read-ahead read ne demek? SQL Server’ın yaptığı üç tür okuma vardır: logical, physical, read-ahead.
Logical okuma her zaman yapılır, ilgili sayfanın bellekten okunması demektir. Eğer gerekli sayfa bellekte yoksa, logical read’den önce diskten belleğe okunması gerekir. SQL Server bir sıra sayfanın diskten okunması gerektiği durumlarda sadece ilkini fiziksel okuma olarak yapar, diğerlerini daha logical olarak okunmaları gerekmeden read-ahead read’le (önden okuma denebilir) okur. Ama sadece milisaniyeler önce yapmış olacaktır bu okumayı muhtemelen.

Bu iki bilgiyi bir araya getirirsek: SQL Server buffer cache hit ratio’yu hesaplarken, read-ahead read’leri de hit sayar! Bu durumda buffer cache hit ratio’yu tek başına kullanmak yeterli olmaz. Beraberinde mesela normalin üstünde bir disk aktivitesi olup olmadığı gibi konuları da incelemek gerekir.

Bu yazı SQL Server içinde yayınlandı. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s