Client throttling is a feature of Exchange 2010 that restricts simultaneous connections and processor utilization on a per user basis so that a single user or rogue process cannot exhaust precious resources on the Exchange server. However, if not configured properly and adjusted to meet an individual environment’s needs, client throttling can lead to end user frustration and the inability to complete work functions. Microsoft’s TechNet article here describes client throttling and details for each configurable parameter. The most common issues associated with client throttling that I’ve seen in client environments are related to delegate mailbox access and third party integrated applications, which I discuss below.
By default in Exchange 2010, simultaneous RPC connections per user are limited to 20 (via the RCAMaxConcurrency parameter of the default client throttling policy). In cases where many users share mailbox resources via delegate access, such as with attorney/secretary pairings, it is possible to reach the default limit of 20 simultaneous RPC connections for a mailbox. Furthermore, the legacy Outlook 2003 client didn’t release any RPC connections associated with opening shared calendars until the Outlook client was closed. If the RPC concurrency limit is reached, the affected user will receive an “unable to open your default e-mail folders” type error message when launching Outlook.
Many third party integrated applications require many simultaneous connections to Exchange via a defined service account due to how the application must interact with Exchange. BlackBerry Enterprise Server and InterAction are two such applications that make many MAPI requests to Exchange through their service accounts and will quickly reach the defined limit of 20 simultaneous RPC connections. Usually, a vendor’s documentation will dictate if the default Exchange 2010 client throttling policy must be modified to support their application but, in some cases, this is not the case.
Since client throttling is a good thing, it is not recommended to simply set any of the parameters associated with the default policy to no limit. Instead, I recommend increasing the RCAMaxConcurrency limit on the default policy to a more reasonable value, such as 32 or 40. For third party applications, I recommend creating a custom client throttling policy that either sets RCAMaxConcurrency to no limit or to a value that the vendor requires. This custom policy can then be applied to the service accounts used by the third party applications. Please note that, to set RCAMaxConcurrency to no limit, the parameter should be set to $null. Setting the value to 0 will effectively prevent any MAPI access for the users to which the client throttling policy is applied.
For more in my series on Exchange 2010 Notes from the Field, please click here.