SQL Server 2008 Resource Governor’da Workload Groupların Özellikleri


Resource Governor’la ilgili daha önce yazmıştım. Başka kaynaklarda da denk gelmişsinizdir belki, ya da hatta kullanıyor da olabilirsiniz.

Bu yazıda genel olarak Resource Governor’dan bahsetmek yerine, pek dikkat edilmeyen bazı yönlerine dikkat çekeceğim.

Resource Governor’ın temel mantığını hatırlarsak:

Resource Pool’lar tanımlanır ve bunlara CPU ve memory ile ilgili limitler atanır.
Workload Group’lar tanımlanır ve bunlar Resource Pool’larla ilişkilendirilir. Bir workload group tek bir resource pool’a ait olabilir. Ama bir resource pool’un birden fazla workload group’u olabilir.
Bir classifier function tanımlanır ve resource governor’a atanarak, resource governor aktif hale getirilir. Classifier function SUSER_SNAME(), IS_SRVROLEMEMBER(), IS_MEMBER() gibi sistem fonksiyonlarını ve LOGINPROPERTY ve CONNECTIONPROPERTY gibi property fonksiyonlarını kullanarak her sessionı bir workload group’a atar.

Böylelikle her session ilgili workload group’a atanır, onun da bağlı olduğu resource pool’daki ayarla kullanabileceği toplam pool limitleri belli olur.

Buraya kadarkiler sadece bir özetti. Asıl belirtmek istediğim şu:
Workload Group’lar sadece isimli birer torba değiller! Workload groupların da çok ilginç şekillerde kullanabileceğiniz özellikleri var.

Bu özellikler altı adet:

1. IMPORTANCE: Low, Medium, ya da High olarak atayabilirsiniz. Böylelikle aynı pool içinde bulunan workload group’ların pool’un limitlerini aralarındaki paylaşım şeklini de derecelendirme şansınız olur.

2. REQUEST_MAX_MEMORY_GRANT_PERCENT: Bu gruptaki tek bir görevin pool limitinin yüzde kaçıyla sınırlı olacağını belirler.

3. REQUEST_MAX_CPU_TIME_SEC: Gruptaki tek bir görev tarafından kullanılabilecek CPU zamanını kısıtlamak için kullanılabilir.

4. REQUEST_MEMORY_GRANT_TIMEOUT_SEC: Bu ayar sayesinde kaynaklar için beklerken timeout olma ayarını workload group seviyesinde yapabiliriz.

5. MAX_DOP: Grup bazında paralel CPU kullanım sınırıyla ilgili ayar yapma imkanı sağlar. MAX_DOP biraz karmaşık bir konudur ve çoğu durumda otomatik ayarda bırakmak faydalı olacaktır. Bu ayarı değiştirmeyi düşünüyorsanız, istediğiniz etkiyi sağlayacağını test etmiş olduğunuza emin olun.

6. GROUP_MAX_REQUESTS: Bu grup içinde eşzamanlı olarak çalışabilecek taleplerin sayısını kısıtlamak için kullanılabilir.

Bu özelliklerden daha önceden haberdar olmadığınıza bahse girerim. Tanıtım, eğitim materyallerinde pek geçmiyorlar. Ama bazı özel durumlarda çok önemli faydalar sağlayabilirler.

Bu yazı SQL Server 2008 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