BlackBerry Enterprise Server and Exchange Server 2010 Throttling Policies

One of the new features in Exchange Server 2010 is the concept of Client Throttling Policies. In summary, Client Throttling Policies are designed to limit the amount of system resources a given user can consume and in turn impact performance for other Exchange users. Out of the box there is a default throttling policy (use the Get-ThrottlingPolicy cmdlet) applied to all users:

RunspaceId                     : ba3cdf92-fc9f-4a70-a912-2cf225e6d573
IsDefault                      : True
EASMaxConcurrency              : 10
EASPercentTimeInAD             :
EASPercentTimeInCAS            :
EASPercentTimeInMailboxRPC     :
EWSMaxConcurrency              : 10
EWSPercentTimeInAD             :
EWSPercentTimeInCAS            :
EWSPercentTimeInMailboxRPC     :
EWSMaxSubscriptions            :
EWSFastSearchTimeoutInSeconds  : 60
EWSFindCountLimit              :
IMAPMaxConcurrency             :
IMAPPercentTimeInAD            :
IMAPPercentTimeInCAS           :
IMAPPercentTimeInMailboxRPC    :
OWAMaxConcurrency              : 5
OWAPercentTimeInAD             :
OWAPercentTimeInCAS            :
OWAPercentTimeInMailboxRPC     :
POPMaxConcurrency              : 20
POPPercentTimeInAD             :
POPPercentTimeInCAS            :
POPPercentTimeInMailboxRPC     :
PowerShellMaxConcurrency       : 18
PowerShellMaxCmdlets           :
PowerShellMaxCmdletsTimePeriod :
ExchangeMaxCmdlets             :
PowerShellMaxCmdletQueueDepth  :
RCAMaxConcurrency              : 20
RCAPercentTimeInAD             :
RCAPercentTimeInCAS            :
RCAPercentTimeInMailboxRPC     :
MessageRateLimit               :
RecipientRateLimit             :
ForwardeeLimit                 :
CPUStartPercent                : 75
AdminDisplayName               :
ExchangeVersion                : 0.10 (14.0.100.0)
Name                           : DefaultThrottlingPolicy_f017f530-3edf-4c59-9955-d94bb7892fb0
DistinguishedName              : CN=DefaultThrottlingPolicy_f017f530-3edf-4c59-9955-d94bb7892fb0,CN=Global Settings,CN=
                                 GreenOrg,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=green,DC=briandesmond,D
                                 C=net
Identity                       : DefaultThrottlingPolicy_f017f530-3edf-4c59-9955-d94bb7892fb0
Guid                           : af1aeaac-4d88-43da-92df-24c0924d4ad8
ObjectCategory                 : green.briandesmond.net/Configuration/Schema/ms-Exch-Throttling-Policy
ObjectClass                    : {top, msExchGenericPolicy, msExchThrottlingPolicy}
WhenChanged                    : 10/10/2009 5:44:29 PM
WhenCreated                    : 10/10/2009 5:44:11 PM
WhenChangedUTC                 : 10/10/2009 10:44:29 PM
WhenCreatedUTC                 : 10/10/2009 10:44:11 PM
OrganizationId                 :
OriginatingServer              : BRIAN-GRDC02.green.briandesmond.net
IsValid                        : True

 

As you can see, most of the valuesa re null, however each of the services has a *MaxCurrency property. These define the maximum number of connections a given user can have to that service. For example, the EASMaxConcurrency value limits a given user to a maximum of ten Exchange ActiveSync connections. Each of the values is documented in the Set-ThrottlingPolicy cmdlet documentation. Of particular note to this discussion is the RCAMaxConcurrency value which defines the maximum number of concurrent connections a given user can have to the RPC Client Access service. The RPC Client Access service is new in Exchange 2010 and it handles all MAPI connections to Exchange.

BlackBerry Enterprise Server (BES) uses a single service account to proxy all of the connections to Exchange on behalf of BlackBerry users. The side effect of this is that it’s quite likely that BES will need to have more than twenty (default limit) connections open to Exchange at a given time. If you review the documentation from RIM, they recommend setting the RCAMaxConcurrency value to null (equivalent to unlimited) for all users. This is really not a great idea at all.

Instead, what you can do is define a new Client Throttling Policy without an RCAMaxConcurrency value and apply it directly to the BES service account. The PowerShell script below does just that. The script assumes that your BES service account is called “BESAdmin”. If it isn’t modify the script accordingly.

New-ThrottlingPolicy "BES Throttling Policy" -RCAMaxConcurrency:$null
Set-Mailbox besadmin -ThrottlingPolicy "BES Throttling Policy"

You can easily confirm that the new policy is applied to the BESAdmin account by inspecting the properties of BESAdmin mailbox:

Get-Mailbox besadmin | fl Name,ThrottlingPolicy

You should see results similar to the following:

Name             : BES Admin
ThrottlingPolicy : BES Throttling Policy

Posted Sunday, January 31 2010 8:28 PM by Brian Desmond | 9 Comments
Tagged as: , , ,

Comments, Trackbacks, & Pingbacks

#1 re: BlackBerry Enterprise Server and Exchange Server 2010 Throttling Policies

Wednesday, February 03 2010 10:07 AM by Steve

Great post - the interesting thing I can note is that when I first read in the documentation that RIM wanted this enabled for all users, I fired off an email to BlackBerry Support. After a back and forth, they said it needed only be enabled for all BlackBerry users. Granted, whoever was answering the email support that day probably wasn't one of their top engineers.

I find only enabling it for the service account much more comforting, and it makes sense given the BES proxy model.

#2 re: BlackBerry Enterprise Server and Exchange Server 2010 Throttling Policies

Wednesday, April 14 2010 2:41 AM by Michael

Great Solution, when you think that blackberry is not able to provide this information in their documentation :)

i've been searching for a solution of my connection problem for weeks, thanks a lot!!

#3 re: BlackBerry Enterprise Server and Exchange Server 2010 Throttling Policies

Wednesday, June 02 2010 11:03 AM by Italian translation

This is a very workable solution. It's great to see Blackberry getting their act together for once.

#4 re: BlackBerry Enterprise Server and Exchange Server 2010 Throttling Policies

Thursday, June 10 2010 7:18 AM by Josh

When I run the

Get-Mailbox besadmin | fl Name,ThrottlingPolicy

command I get all the names of mailboxes, but all the ThrottlingPolicy are blank... Does this indicate that there is no policy applied or that the account is using a default policy? If there is no policy applied then would there be a default setting applied for the RCAMaxConcurrency?

My BESAdmin account looks like this.

Name : BESAdmin

ThrottlingPolicy :

#5 re: BlackBerry Enterprise Server and Exchange Server 2010 Throttling Policies

Saturday, June 12 2010 12:27 PM by Brian Desmond

Josh-

What you're seeing indicates the default policy is applied.

#6 re: BlackBerry Enterprise Server and Exchange Server 2010 Throttling Policies

Tuesday, July 06 2010 11:51 PM by Mariscos

This is some great argument for blackberyy nice one

#7 re: BlackBerry Enterprise Server and Exchange Server 2010 Throttling Policies

February 3, 2010 7:52 AM by Twitter Trackbacks for BlackBerry Enterprise Server and Exchange Server 2010 Throttling Policies : Brian Desmond's Blog [briande

Pingback from Twitter Trackbacks for BlackBerry Enterprise Server and Exchange Server 2010 Throttling Policies : Brian Desmond's Blog [briandesmond.com] on Topsy.com

#8 re: BlackBerry Enterprise Server and Exchange Server 2010 Throttling Policies

March 10, 2010 1:52 PM by BlackBerry et Exchange 2010 : Pr??vision de Charges « Exchange your Mind

Pingback from BlackBerry et Exchange 2010 : Pr??vision de Charges « Exchange your Mind

#9 re: BlackBerry Enterprise Server and Exchange Server 2010 Throttling Policies

April 24, 2010 4:47 PM by Troubleshooting BlackBerry Enterprise Server Integration

I thought I’d compile a list of issues that I’ve seen and fixed with regard to BlackBerry

Leave a comment