Exchange Server kullanıcılara bir’den fazla bağlantı protokolü sunar. Bu protokoller arasında MAPI, Activesync, OWA, POP3 vb. gibi Client Access Sunucular tarafından sağlanan servisler bulunmaktadır.  Sunucu kaynaklarının yanlışlıkla veya kasıtlı olarak yetersiz hale gelmesini engellemek amaçlı olarak Exchange 2010 CAS sunucularda Throttling kullanılır.
Throttling 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 Policy mailboxlara uygulanır. Mailboxlarda varsayılan durumda herhangi bir Throttling Policy olmadığından “default throttling policy” etkindir.
Şimdi komutumuza bakalım;
Get-ThrottlingPolicy | where-object {$_.IsDefault -eq $true}
image001
Bu komut sayesinde bütün policiylerimizi görebiliriz.
Üstte ki resim’de gördüğümüz gibi bazı değerler boş; bu değerlerin kontrol edilmediği anlamına geliyor. Policy içerisinde bağlantı türleri ve kontrol edilecek ayarları belirtilmiştir.
Bağlantı türlerinegöz atalım.
  • Anonymous: Kullanıcının takvimine yapılacak olan yetkisiz bağlantılar. (SP1 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 4 adet ayar var.
  • MaxConcurrency: Aynı anda yapılabilecek bağlantı sayısı.
  • PercentTimeinAD: Dakikanın yüzde kaçının Active Directory sorgusu için harcanabileceği.
  • PercentTimeinCAS: Dakikanın yüzde kaçının Client Access Server isteği için harcanabileceği.
  • PercentTimeinMailboxRPC: Dakinanın yüzde kaçının RPC isteği için harcanabileceği.
Bu 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 göz attık.
Birkaç örnek ile işlemlerimize başlayalım.
Bir User’a atanan Throttling Policygörmek  için PowerShell komutumuz;
Get-Mailbox “ufuk.tatlidil” | fl ThrottlingPolicy
image002
ufuk.tatlidil kullanıcısına Default Throttling Policy uygulandığı anlamına gelmektedir.
Default uygulanan policy görmek için aşağıda belirtilen cmd’leti kullanabilirsiniz.
$policy = $null;
$policyLink = (Get-Mailbox ufuk.tatlidil).ThrottlingPolicy;
if ($policyLink -eq $null)
{
$policy = Get-ThrottlingPolicy | where-object {$_.IsDefault -eq $true}
}
else
{
$policy = $policyLink | Get-ThrottlingPolicy;
}
image003
Yukarıda ki komutumuz ile Default Throttling policy’i görebiliyoruz.
image004
Default Throttling policy’de Exchange ActiveSync maksimum bağlantı sayısını değiştirmek için ;
Get-ThrottlingPolicy | where {$_.IsDefault -eq $true} | Set-ThrottlingPolicy –EASMaxConcurrency 50
Userlar için yeni bir policy oluşturup Exchange ActiveSync maksimum bağlantı sayısını100 yapmak için.
New-ThrottlingPolicy -Name EASLimitedto100 –EASMaxConcurrency 100
image005
Bu işlemden sonra yeni bir Policy oluşturuldu. Bu yeni oluşan Policy’yi user’a atamak için ;
Set-Mailbox -Identity “ufuk.tatlidil” –ThrottlingPolicy EASlimitedto100
image006
Oluşturduğunuz ThrottlingPolicy’yi silmek için ;
Remove-ThrottlingPolicy “PolicyName”
Bu policy herhangi bir user’a uygulanmamışsa sorunsuz kalkacaktır.
Aşağıda belirtilen Cmd’let ile Policy’nin hangi user’lara yansıdığını görebilirsiniz.
$policy= Get-ThrottlingPolicy  “EASLimitedto100
Get-Mailbox | where-object {$_.ThrottlingPolicy -eq $policy.Identity}
image007
Umarım faydalı bir makale olmuştur.
Bir başka makalede görüşmek dileğiyle…