"Teknik uzmanlığım dışında diğer herşey" temalı günlüğüme de göz atmak ister misiniz: http://mustafaacungil.wordpress.com/

5 Haziran 2010 Cumartesi

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.

1 yorum:

Vbseo-tr dedi ki...
Bu yorum bir blog yöneticisi tarafından silindi.