Exchange Server 2013-Exchange workload management
Workload Management is a new feature/service introduced in Exchange 2013 and is defined for the purposes of managing workloads “based on the health of system resources”.
Each Exchange workload consumes system resources like CPU, AD requests, mailbox database operations etc. to run the background work.
By design, Exchange 2013, adjusts the resource utilization and preserves user experience automatically through:
- Intelligent prioritization of work
- Resource monitoring
- Traffic shaping
NOTE: Manage Exchange workload can be achieved either by monitoring the health of system resources or by controlling how resources are consumed by individual users (sometimes called user throttling in Exchange Server 2010).
Throttling: Throttling is a part of work load management (WLM) and its functionality is improved in Exchange 2013. This helps to make sure that excessive resource consumption by individual users doesn’t disturb the server performance or the user experience adversely. This also provides:
- Ability to intelligently schedule activity based on resource health and/or user budgets
- A way to prevent single-user Denial of Service (DoS) attacks by intelligent traffic shaping interactive usage
System Workload Management:
Controlling how resources are consumed by individual users was also possible in Exchange Server 2010, and this capability has been prolonged for Exchange Server 2013. We have an option to customize the Workload Management settings if required. Components of System WLM are as below:
- Manages system initiated or background tasks
- Monitors resource health
- Controls Scheduling and execution.
-
Can be Managed using:
- WorkloadManagementPolicy
- WorkloadPolicy and
- ResourcePolicy
- WorkloadManagementPolicy
- Prevent unintended spurts in background activity from negatively impacting user experience
-
Smooth the peaks, fill in the valleys
Example: Time-based Assistants, Mailbox Replication Jobs etc.
Key Resources Monitored by Exchange Workload Management:
Throttling Exchange workloads are based on the health of key system resources which 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.
It monitors the health of the following key resources to determine when to throttle workloads
- Local server CPU usage
- Mailbox database Remote Procedure Call (RPC) latency
- Mailbox database replication health
- Context indexing age of last notification
- Context indexing retry queue size
Workload Classifications
Each Exchange workload (ex: Calendar Synchronization Assistant workload), is assigned a classification and workload policy settings are used for the classification to control both priority and target resource usage.
Exchange workloads can be assigned one of the following classifications:
- Urgent
- Customer Expectation
- Internal Maintenance
- Discretionary
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.
Exchange Workload Management Settings:
When Exchange 2013 is installed, there is a single default Throttling policy called GlobalThrottlingPolicy which has the Global Scope. This Global Policy defines the baseline default throttling settings for every new and existing user in your organization and it is not recommended to modify Global Throttling policy. There are other user throttling policies with Organization (create to manage all users in the organization) and Regular (create to manage specific set of users in the organization) Scope.
NOTE: The customized new throttling policies should have the different throttling setting than in the GlobalThrottlingPolicy settings.
In order to manage the Throttling policies, use the below comdlets:
- Get-ThrottlingPolicy
- New-ThrottlingPolicy
- Remove-ThrottlingPolicy
- Set-ThrottlingPolicy
- Get-ThrottlingPolicyAssociation
-
By default, Exchange Server applies Exchange workload throttling using default policies. Administrator can change Exchange workload throttling settings at the sever level or organizational level. But the default Exchange Workload Management settings are generally adequate for managing Exchange workloads in most organizations.
By making changes to the GlobalOverrideWorkloadManagementPolicy object, administrator can override the default workload management policy settings for all servers in the organization. Or can create custom workload management policies on server basis.
Points needs to be considered before creating the custom policies:
- 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, but is not recommended as 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.
-
System WLM can be configured via policy cmdlets
- (get|set|new|remove)-WorkloadManagementPolicy
- (get|set|new|remove)-WorkloadPolicy
- (get|set|new|remove)-ResourcePolicy
- (get|set|new|remove)-WorkloadManagementPolicy
- WorkloadManagementPolicy links WorkloadPolicy and ResourcePolicy objects to servers
- WorkloadPolicy defines classification for workloads
- ResourcePolicy defines resource thresholds for classifications
NOTE: The *-ResourcePolicy, *-WorkloadManagementPolicy and *-WorkloadPolicy system workload management cmdlets have been deprecated. System workload management settings should be customized only under the direction of Microsoft Customer Service and Support.
Ratish Nair
Microsoft MVP | Exchange Server
Team @MSExchangeGuru
February 26th, 2015 at 6:17 am
Excellent writeup
March 17th, 2016 at 2:39 am
[…] If you want to know more on Work load Management there is an excellent write up by MVP Ratish – https://msexchangeguru.com/2015/02/23/exchange-workload-management/ […]