SQL Server Resource Pool ayarlarıyla ilgili birkaç püf noktası


SQL Server 2008’deki Resource Governor özelliği, eş zamanlı çalışan sorguların performansa etkisi konusunda yöneticiye söz hakkı tanıması yönünden çok önemli. Ama bir yöneticinin bu özelliği etkin kullanabilmesi için dikkat etmesi gereken birkaç nokta var.

Burada Resource Governor özelliğinin nasıl kullanılabileceğinden bahsetmeyeceğim. Bunu bildiğinizi ya da araştıracağınızı varsayıyorum. Resource Governor’ı kullanmakta en önemli unsurlardan birisi, resource pool’ların minimum ve maksimum değerlerini doğru ayarlamaktır ve bu yazıda bundan bahsetmek istiyorum.

İki temel kaynak konusunda yani CPU ve RAM’le ilgili olarak resource pool’ların minimum ve maksimum değerlerini ayarlayabilirsiniz. Ama bu ayarları yaparken o kadar da serbest değilsiniz. Dikkat etmeniz gereken bir kaç püf noktası var.

Öncelikle minimumlar: Minimumları belirlerken serbest değilsiniz. Minimum toplamları yüzde 100’ü geçemiyor. Eş zamanlı çalışmaları durumunda herbirine istediği minimum kaynak oranını vermeye çalışacak olan SQL Server, işini dürüstçe yapabilmek için size böyle bir kısıtlama getiriyor. Mantıklı da zaten, aksi taktirde bu minimumları garanti etmesi imkansız hale gelirdi.

Gelelim maksimumlara: Maksimumların isterseniz hepsini yüz de yapabilirsiniz. Ama etkili maksimum diye bir kavram da var.

Diyelim ki 3 poolunuz ve bir de default pool var. Ayarları şu şekilde yaptınız:

Pool (min değer, max değer):
Default (0, 100)
Pool1 (20, 90)
Pool2 (40, 100)
Pool3(40, 50)

Acaba etkin maksimum değerler ne olur?

Pool1’i düşünelim. Diğerlerinin minimumlarının toplamı 40+40 = 80’dir. Bu durumda pool1’e kalan etkin maksimum 100-80 = 20’dir. Yani aslında minimum değeriyle maksimum değeri aynı.

Pool2 için diğerlerinin minimum toplamı 20+40 = 60’tır. Bu durumda pool2 için de hem minimum hem maksimum değeri 40’tır. Pool3 için de benzer hesapla hem minimum hem maksimum değeri 40’tır.

Peki ya örneğimiz şöyle olsaydı:

Pool (min değer, max değer):
Default (0, 100)
Pool1 (20, 90)
Pool2 (25, 100)
Pool3(30, 50)

Bu durumda pool1’in etkin maksimumu benzer hesapla 45’tir. Pool2 için etkin maksimum 50’dir. Pool3 için ise ilginç bir durum var: Diğerlerinin minimumları toplamı 45. Yani etkin maksimum 55 olabilecek gibi duruyor. Ama kendiniz maksimumu 50 olarak belirtmişsiniz. Etkin maksimum hesaplanan olası maksimumla sizin belirttiğiniz maksimumdan en düşük olan hangisi ise odur. Yani 50 olur.

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