Exchange 2010 Client Throttling Policy

closeBu yazı 5 yıl 10 ay 25 gün önce yayınlanmış olduğundan güncelliğini yitirmiş veya içeriğindeki bilgilerin geçerliliği kaybolmuş olabilir. Herhangi bir yanlış anlaşılmadan bu site sorumlu değildir.

Konuya başlamadan önce küçük bir uyarı: Burada anlatılan değerler Exchange 2010 SP1 Beta’ya göre sunulmuştur. SP1 yayınlandığında değişiklikler olabilir.

Exchange kullanıcılara birçok bağlantı yöntemi sunar bunlar arasında MAPI (outlook), Activesync, OWA veya POP3 vb. gibi Client Access Sunucular tarafından karşılanan servisler bulunmaktadır. Daha iyi performans ve daha iyi cevap süreleri için Exchange Sunucuların yeni versiyonları geliştirilmiş ölçeklendirme olanakları sunar. Bu sayede sunucu başına daha çok kullanıcı bağlantısı sağlar. Bu bağlantıların sorunsuz çalışması, CAS sunucularda kaynakların yanlışlıkla veya kasıtlı olarak yetersiz hale gelmesini engellemek amaçlı olarak Exchange 2010 CAS sunucularda Throttling kullanılmaktadır.

Throttling politikaları kullanıcıların ne kadar Exchange sunucu kaynağı kullanacağını kısıtlar bu sayede kullanıcılar servislere zarar veremez veya DoS (Denial of Service) saldırıları engellenmiş olur. Kullanıcılara bağlantıları için limit uygulanacağından Throttling politikaları mailboxlara uygulanır. Mailboxlarda varsayılan durumda herhangi bir politika olmadığından “default throttling policy” uygulanır.

Konuyu daha iyi anlamak için Default Throttling Policy’i inceleyelim. Bunun için Exchange Management Shell’de

Get-ThrottlingPolicy

komutunu veya

Get-ThrottlingPolicy | where-object {$_.IsDefault -eq $true}

komutunu kullanabiliriz. İlk komut birden çok policy olması durumunda hepsini ekranımıza dökecektir.

Burada görüldüğü gibi bazı değerler boş; bu değerlerin kontrol edilmediği anlamına gelir. Policy içerisinde bağlantı türleri ve kontrol edilecek ayarları belirtilmiştir. Öncelikle bağlantı türlerinin neler olduğuna bakalım.

  • Anonymous: Kullanıcının takvimine yapılacak olan yetkisiz bağlantılar. (SP1 Beta ile geldi)
  • EAS (Exchange Active Sync): Exchange sunucumuza yapılacak ActiveSync bağlantılar.
  • EWS (Exchange Web Services): Exchange web servislerine yapılacak bağlantılar.
  • IMAP (IMAP4): Exchange sunucumuza yapılacak IMAP4 bağlantıları
  • OWA (Outlook Web App): Exchange sunucumuza yapılacak OWA bağlantıları.
  • POP (POP3): Exchange sunucumuza yapılacak POP3 bağlantıları.
  • RCA (RPC Client Access): Exchange sunucumuza yapılacak RPC Client Access bağlantıları.
  • CPA (Cross Premise Access): Exchange sunucumuza yapılacak Cross premise bağlantıları (SP1 Beta ile geldi)

Bu bağlantıların herbiri için ortak 4 adet ayar var. Bu ayarlar:

  • MaxConcurrency: Aynı anda yapılabilecek bağlantı sayısı.
  • PercentTimeinAD: Dakikanın yüzde kaçının Active Directory sorgusu için harcanabileceği. (Bu değer SP1 Beta’da dolu olarak geliyor. Exchange 2010 RTM’de boştu.)
  • PercentTimeinCAS: Dakikanın yüzde kaçının Client Access Server isteği için harcanabileceği. (Bu değer SP1 Beta’da dolu olarak geliyor. Exchange 2010 RTM’de boştu.)
  • PercentTimeinMailboxRPC: Dakinanın yüzde kaçının RPC isteği için harcanabileceği. (Bu değer SP1 Beta’da dolu olarak geliyor. Exchange 2010 RTM’de boştu.)

Bu ortak 4 ayar dışında şu ayarlar bulunmaktadır.

  • ForwardeeLimit: Forward edilebilecek maksimum kullanıcı sayısı limiti.
  • RecipientRateLimit: Kullanıcının gönderebileceği alıcı sayısı limiti.
  • MessageRateLimit: Kullanıcının gönderebileceği mesaj sayısı limiti.
  • EASMaxDevices: Kaç tane cihaz ile Active Sync ortaklığı kurabileceğinin limiti.
  • EASMaxDeviceDeletesPerMonth: Kaç tane cihaz ile Active Sync ortaklığını silebileceğinin limiti.
  • EWAMaxSubscriptions: Client Access sunucu başına kaç tane Push veya Pull kaydı yapılabileceğinin limiti.
  • EWSFastSearchTimeoutInSeconds: EWS arama sorgularında zaman aşımı süresi.
  • EWSFindCountLimit: EWS arama sorgularında gelecek olan maksimum cevap sayısı.

Throttling’in genel anlamda ne olduğu ve ayarların neler olduğunu inceledik. Bazı örnekler üzerinden bu ayarları nasıl değiştiriyoruz ona bakalım.

Bir kullanıcıya uygulanan Throttling Politikasını bulmak için şu komutu kullanabiliriz.

Get-Mailbox “KullanıcıAdı” | fl ThrottlingPolicy

Bu durumda kullanıcımıza herhangi bir politika uygulamadığımızdan boş bir değer geldi. Bu kullanıcımıza hiçbir politika uygulanmıyor anlamına gelmiyor. Boş olması durumunda Default Throttling Policy uygulandığını belirtmiştik. Bu nedenle kullanıcımıza uygulanan politika Default olsa bile ayarlarını görmek istiyorsak şu komutları kullanarak $policy değerine atayabilir ve görüntüleyebiliriz.

$policy = $null;

$policyLink = (Get-Mailbox Kullanıcıadı).ThrottlingPolicy;

if ($policyLink -eq $null)

{

$policy = Get-ThrottlingPolicy | where-object {$_.IsDefault -eq $true}

}

else

{

$policy = $policyLink | Get-ThrottlingPolicy;

}

$policy

Default Throttling politikasında değerleri değiştirmek istiyorsanız. Örneğin Exchange ActiveSync maksimum bağlantı sayısını 8 yapmak için şu komutu kullanabiliriz.

 Get-ThrottlingPolicy | where {$_.IsDefault -eq $true} | Set-ThrottlingPolicy –EASMaxConcurrency 8 

Kullanıcılarımız için yeni bir politika oluşturup Exchange ActiveSync maksimum bağlantı sayısı limitini 20 yapmak için.

 New-ThrottlingPolicy -Name EASLimitedto20 –EASMaxConcurrency 20

Burada dikkat ederseniz Default Throttling Policy ile gelen değerden farklı olarak EASMaxConcurrency değiştirildi ve yeni bir policy yaratıldı. Bir politika yaratılırken Default Throttling policy’nin şablon olarak kullanıldığını buradan anlıyoruz.

Bu politikayı kullanıcımıza uygulamak için:

Set-Mailbox -Identity “kullanıcı” –ThrottlingPolicy EASlimitedto20

Varolan politikayı kaldırmak isterseniz:

Remove-ThrottlingPolicy “politikaismi”

Komutunu kullanabilirsiniz. Eğer bu politika hiçbir kullanıcıya uygulanmıyorsa kaldırılacaktır. Eğer herhangi bir kullanıcıya bu politika uygulandıysa hata alırsınız.

$policy= Get-ThrottlingPolicy “politikanın_ismi”
Get-Mailbox | where-object {$_.ThrottlingPolicy -eq $policy.Identity}

Komutunu kullanarak politikanın hangi kullanıcılara uygulandığını bulup bu kullanıcıların politikalarını değiştirebilirsiniz.

Yayınlayan: Serkan Varoğlu

Yıldız Teknik Üniversitesi Elektrik Mühendisliğini bitirdim. Türkiye'de birçok farklı sektör ve firmada Sistem Yöneticiği yaptım. Bermudada 3 yıla yakın danışmanlık yaptıktan sonra şu anda İrlanda'da çalışma hayatıma devam ediyorum.