Exchange Workload Management
Applies to: Exchange Server 2013, Exchange Online
Topic Last Modified: 2013-06-13
An Exchange workload is an Exchange Server feature, protocol, or service that’s been explicitly defined for the purposes of Exchange system resource management. Each Exchange workload consumes system resources such as CPU, mailbox database operations, or Active Directory requests to run user requests or background work. Examples of Exchange workloads include Outlook Web App, Exchange ActiveSync, mailbox migration, and mailbox assistants.
There are two ways to manage Exchange workloads: by monitoring the health of system resources or by controlling how resources are consumed by individual users (sometimes called user throttling in Exchange 2010). Managing workloads based on the health of system resources is new in Microsoft Exchange Server 2013. Controlling how resources are consumed by individual users was possible in Exchange Server 2010, and this capability has been expanded for Exchange Server 2013.
You can customize the workload management settings if you want to change the default behavior of the feature for the needs of your environment.
Managing Exchange workloads helps to preserve user experience and optimize resource utilization. When resource health starts to decrease because of an increased load, Exchange progressively slows down the lowest-priority workloads. By doing this, Exchange can bring the resource back to health without negatively affecting high-priority workloads and without noticeably affecting an interactive user experience.
Exchange workloads are throttled based on the way key server resources are currently being used. Exchange monitors the health of the following key resources to determine when to throttle workloads:
Active Directory replication latency
Local server CPU usage
Mailbox database RPC latency
Mailbox database replication health
Content indexing age of last notification
Content indexing retry queue size
Throttling Exchange workloads based on the health of key system resources protects and manages the consumption of Exchange resources. Exchange workloads may include background services and asynchronous services such as the Microsoft Exchange Mailbox Replication service and the Microsoft Exchange Mailbox Assistance service. As the health of a system resource begins to degrade, the Exchange workloads that rely on that system resource are dynamically throttled to allow Exchange to continue efficient operation. This throttling, known as “shaving the peaks,” allows users to continue to use resources without experiencing any noticeable performance degradation. Similarly, when system resources are healthy, background workloads are allowed to speed up and “fill the valleys” in resource usage.
Each Exchange workload (for example, the Calendar Synchronization Assistant workload), is assigned a classification.
Workload policy settings are used to group each workload into a class. Classification is used to control both priority and target resource usage.
Exchange workloads can be assigned one of the following classifications:
Workloads in a higher classification group are given preference as resource health shows signs of degrading. For example, when a resource such as local server CPU reaches high usage, workloads classified as Internal Maintenance may continue to run, while workloads classified as Discretionary may be stopped.
System resource thresholds
Resource policy settings define the thresholds at which system health is underloaded, overloaded, or in critical state.
Exchange includes the following system resource thresholds:
- Underloaded Work against the resource can be increased when below this threshold.
- Overloaded Work against the resource must be reduced when above this threshold.
- Critical Work against the resource must be stopped when above this threshold.
|When resource usage is between the Underloaded and Overloaded thresholds, work against the resource isn’t impacted.|
To review a list of Exchange workloads and default throttling thresholds that Exchange uses, see Workload Management Reference.
Exchange workload management settings
By default, Exchange applies Exchange workload throttling using default policies. You can make changes to Exchange workload throttling settings at the sever level or organizational level. You make changes to the default settings by modifying and by creating new workload policies, resource policies, and workload management policies.
The default Exchange workload management settings are generally adequate for managing Exchange workloads in most organizations. You can override the default workload management policy settings for all servers in your organization by making changes to the GlobalOverrideWorkloadManagementPolicy object. You can change the workload management policy settings in your organization on a per-server basis by creating custom workload management policies. Consider the following when you modify policy settings:
Workload management policy settings that are applied using the GlobalOverrideWorkloadManagementPolicy policy will take precedence over the settings in the DefaultWorkloadManagementPolicy_<Server Version> policy.
Workload management policy settings that are applied using a custom workload management policy take precedence over any settings that are configured using the default policy (DefaultWorkloadManagementPolicy_<Server Version>) or the GlobalOverride policy (GlobalOverrideWorkloadManagementPolicy).
Although you can modify the workload management settings for your entire organization by editing a default workload management policy, that method isn’t recommended. This is because the settings within default workload management policies can be overwritten by the installations of Exchange service packs or other Exchange updates if those packages include changes to workload management policy settings.
Use the following procedures to configure workload management policy settings:
Throttling functionality is enhanced in Exchange 2013. The enhanced functionality helps make sure that excessive resource consumption by individual users doesn’t adversely affect server performance or the user experience.
By default, user throttling in Exchange 2013 allows users to increase resource consumption for short periods without experiencing any reduction in bandwidth. Also, the complete lockout of users who use a very large amount of resources will be infrequent, or never occur. Rather than completely blocking a user from performing operations, throttling occurs and processes are delayed for short periods of time (think of them as “microdelays”), occurring before they cause a significant impact on a server.
Here are some highlights of the way Exchange controls how resources are consumed by individual users in Exchange 2013:
- Burst allowances Burst allowances let your users perform short periods of increased resource consumption without experiencing any throttling.
- Recharge rate Recharge rate manages your users’ resource consumption by using a resource budget system. You can set the rate at which your users’ resource budgets are recharged. For example, a value of 600,000 (in milliseconds) implies that users’ budgets get recharged at a rate of ten minutes of usage per hour.
- Traffic shaping When a user’s resource usage reaches the configured limit over a period of time, that user is delayed for very short periods of time well in advance of causing a significant impact on a server. Users generally don’t notice these ”microdelays.” This process enables Exchange 2013 to efficiently shape traffic without blocking users from being productive. Traffic shaping has less impact on your users than early lockout, and it significantly reduces the chance that a lockout will occur.
- Maximum usage In rare circumstances, a user may consume a very high amount of resources over a short period of time. As a precaution, a user who reaches a maximum usage threshold may be temporarily blocked from using resources. Users who are temporarily blocked from resource usage are unblocked as soon as their usage budgets are recharged.
For a list of cmdlets you can use to control how resources are consumed by individual users, see “Cmdlets to control how resources are used by individual users” later in this topic.
Exchange 2013 throttling functionality and deployment considerations
Whether you perform a clean installation of Exchange 2013 or install Exchange 2013 into a coexistence environment that includes Exchange 2010 computers, all users with mailboxes on computers running Exchange 2013 are throttled using the new Exchange 2013 throttling functionality. However, Exchange 2010 mailboxes will remain throttled by Exchange 2010 throttling functionality when they access their mailboxes through Exchange 2010 Client Access servers.
When Exchange 2013 is installed into a coexistence environment, the Exchange 2013 installation process may try to carry forward some of the throttling settings that you had set in your Exchange 2010 configuration. However, the Exchange 2013 throttling functionality is so different that the impact of any legacy throttling settings will generally not impact how throttling works in Exchange 2013.
Managing throttling policies by using scopes
Similar to Exchange 2010, there’s a single default throttling policy in Exchange 2013. In Exchange 2013, the default throttling policy is named GlobalThrottlingPolicy. This policy has the Global scope. The other available user throttling scopes are Organization and Regular. Due to the introduction of scope assignment for Exchange 2013 user throttling policies, you manage throttling policies differently than in Exchange 2010. The GlobalThrottlingPolicy defines the baseline default throttling settings for every new and existing user in your organization unless you have customized throttling policies for your organization. In many typical Exchange deployment scenarios, the GlobalThrottlingPolicy will be adequate to manage your users.
We strongly recommend that you don’t customize throttling settings by modifying the GlobalThrottlingPolicy. Instead, you should create additional throttling policies. Creating additional throttling policies will help you better manage your workloads. It will also prevent any modifications to throttling policy settings from being overwritten by future Exchange 2013 updates.
To customize throttling settings that apply to all users in your organization, create a new throttling policy with the scope assignment Organization. In new Organization-scope policies, you should only set the throttling settings that are different from those in the GlobalThrottlingPolicy. To customize throttling settings that apply only to specific users in your organization, create a new throttling policy with the scope assignment Regular. In new Regular-scope policies, you should only set the throttling settings that are different from those in the GlobalThrottlingPolicy and any other organization policies. This will help you to inherit the rest of the policy settings from the GlobalThrottlingPolicy and let you benefit from any updates to throttling policies that are added in future Exchange updates.
You manage Exchange workload throttling settings by using the Exchange Management Shell.
Cmdlets to throttle workloads by monitoring system resource health
You use the following cmdlets to manage system throttling settings:
Cmdlets to control how resources are used by individual users
You manage throttling settings with the following cmdlets, which were introduced in Exchange 2010:
Manage throttling policies
Assign throttling policies
For information about the cmdlets that you use to control how resources are used by individual users, see “Exchange Workload Management” in the topic Server Health, Monitoring, and Performance Cmdlets.