Learn Exchange the Guru way !!!


Throttling Policy in Exchange Server 2016 for Better Performance

MS Exchange Server 2010, 2013 and 2016 comes with throttling policies in order to manage the performance of the Exchange organization. It helps in maintaining the server health and monitor for better performance. 

This articles applies to all versions of Exchange – Exchange 2010, Exchange 2013 and Exchange 2016.

It also helps in keeping track of the resources that each user consumes and enforces connection bandwidth limits as required. Keeping the track helps in ensuring that users are not straining Exchange environment much and resources are shared proportionately.

Throttling Policy or RPC Client Throttling feature was firstly introduced in Exchange 2007 in which Administrator can set some specific policy for preventing user Applications for sending number of Remote Procedure Calls per second. Like this Administrator can improve performance of Exchange server by setting back some specific user who are keeping server busy.

Throttling Policy in Exchange 2010

In Exchange 2010 Same Feature was improved and make it work for all other client access apps and other ways. There are some following list of Apps and Protocols which was managed in Exchange 2010 throttling policy:

– Anonymous Access

– RPC Client Access

– Outlook Web App

– PowerShell

– Exchange ActiveSync

– Exchange Web Services



– Cross-Premises Access

Throttling Policy is a command used for managing workload in Exchange Environment and is available in on-premises Exchange Server 2010. Before we run the commands, we need to make sure about assigning permissions and throttling policy settings which are stored in active directory. It is aimed to restrict the usage of resources by individual users in Exchange environment consumed using an identity. The assigned number for the parameter defined in throttling policy can be used and if it exceeds, it will generate an error message.

Default Throttling Policy

When a new Exchange Sever is Installed then the Default Throttling Policy is already created for keeping managed performance of Exchange Server. To check the default throttling policy enter below mentioned command in Exchange Management Shell. You can see below image for demo.


In above Image you can see that the time limit is assigned for accessing services. for example: AnonymousPercentTimeInAD is 1 which means only one anonymous user can access Exchange server at a time according to default throttling policy setting. Same for EASMaxConcurrency limit is 10 which means maximum number of 10 devices can connect to ExchangeActiveSync at a time.

There are some common things in all services which you should know, those are MaxConcurrency & PercentTimeIn which we are going to discuss below:

MaxConcurrency : It indicates about number of devices or applications can connect to Exchange server in one instance.

PercentTimeIn* : It indicates about the time of a particular device or application which can access time in percent (%) of 1 minute. PercentTimeIn belongs to Active Directory services, CAS and Mailbox RPC.

You can also run below commands directly for getting throttling policy info related to some specific services & components. See below running command to know about EAS and OWA:

#1 Command: Get-ThrottlingPolicy | Select EAS*

#2 Command: Get-ThrottlingPolicy | Select OWA*

Global Throttling Policy

In Exchange 2013, Default Throttling Policy is named as GlobalThrottlingPolicy. It has a Global scope like exchange 2010 default policy which is applied for user mailboxes automatically. But you can customize the GlobalThrottlingPolicy in Exchange 2013 according to your need. Altering GlobalThrottlingPolicy is not a good idea because some changes might affect other settings too which may lead into a fault.

Therefore try to create a New Throttling Policy of and customize only those thing which you want and the rest of setting will be inherited from Global Throttling Policy automatically.

Creating New Throttling Policy in Exchange 2010

New Throttling Policy creation is really a good Experience if you are going to create it first time. Set all required functionality to null or we can say unthrottled. Lets check the below written command for creating new Throttling Policy:

New-ThrottlingPolicy NTPolicy -RCAMaxConcurrency $null -RCAPercentTimeInAD $null -RCAPercentTimeInCAS $null

Where NTPolicy is the name of New Throttling Policy which we are going to create. At place of $null you can assign any specific value according to your choice & need.

Assign New Throttling Policy to specific Mailbox or All Mailboxes in Exchange

Now, Lets see below commands for assigning New Throttling Policy to a user mailbox(es).

Assign to Specific Mailbox

Command: Set-Mailbox mailbox -ThrottlingPolicy NTPolicy

mailbox is mailbox name and NTPolicy is name of Throttling Policy

Assign to All Mailbox

Command: Get-Mailbox | Set-Mailbox -ThrottlingPolicy NTPolicy

Check for Assigned Throttling Policy for a Mailbox

After Assigning New Policy rule to mailbox we need to check whether Throttling Policy have applied on mailbox or not. Run below command to check:

Command: Get-Mailbox mailbox | select ThrottlingPolicy

Where: mailbox is the mailbox for which I am checking for applied policy and in below image you can see that NTPolicy is assigned to the mailbox.

Note: In case of DefaultThrottling Policy the result will show null or not any Throttling Policy Assigned.

Creating New Throttling Policy in Exchange 2013 & 2016

In Exchange 2013 NewThrottlingPolicy command is executed in two different way which depends according to Scope of the policy usage. There are two different scopes of NewThrottlingPolicy command provided in Exchange server 2013. The first scope is Organization, which is applied when the new customized throttling policy is created for all user mailboxes. The other scope is Regular which is applied when the new customized throttling policy is created for any specific user mailbox. You can see below written commands according to two differ scopes.

Command with Regular Scope:

New-ThrottlingPolicy -Name NewPolicy -EwsMaxConcurrency 100 -ThrottlingPolicyScope Regular

Command with Organization Scope:

New-ThrottlingPolicy -Name NewPolicyAll -EwsMaxConcurrency 100 -ThrottlingPolicyScope Organization

After creation of new throttling policy Set-ThrottlingPolicy can be used for setting policy for any specific user or all user.

Removing Throttling Policy in Exchange 2010

Now we will see the demo of removing a specific Throttling Policy from Exchange Server 2010. Just run below command before removing any throttling Policy:

Command: Remove-ThrottlingPolicy NTPolicy

Where: NTPolicy is the name of Throttling Policy which you want to remove.

Removing Throttling Policy in Exchange 2013 & 2016

Run below command for removing Throttling Policy in Exchange Server 2013/16.

Remove-ThrottlingPolicy -Identity PolicyName

Note: If any mailbox have assigned the specific throttling policy which you want to delete then you will get error. You have to assign another throttling policy to mailbox and then you can go for removing of throttling policy.


In the post, we have discussed about the commands associated with throttling policy in Exchange Server 2010/13/16. These commands have been aimed to improve the performance of the Exchange environment and to ensure the resources are used proportionately. We discussed about checking the default Throttling Policy, Creating New Throttling Policy, Assigning Throttling Policy to Specific user mailbox or all mailboxes. We also discussed about removing any Throttling Policy.

As we know that the management of throttling policy can be achieved only using commands therefore we saw demo of all processes by running commands in Exchange Management Shell.

Tej Pratap Shukla

Team @MSExchangeGuru

Leave a Reply

migrate exchange to office 365