Applications Server

Client Access Server Architecture in Exchange 2010 (part 4)

- Free product key for windows 10
- Free Product Key for Microsoft office 365
- Malwarebytes Premium 3.7.1 Serial Keys (LifeTime) 2019
10/18/2010 9:58:35 AM
3.6. Client Access Throttling Policies

At times, clients consume server resources to the point where everyone is affected. For example, some third-party search programs can send a large number of RPC requests when they perform indexing. The sheer number of RPC requests from these clients can cause performance problems on the backend. Exchange 2010 uses client-throttling policies to prevent this situation. A default client-throttling policy is configured when the Exchange organization is created. The default policy can be customized or additional policies can be created. The default policy settings are shown in Table 4. Do not make changes directly to the default policies—create a copy of the default and make the changes to the new policy. This will enable an administrator to quickly revert back to defaults if the need arises.

Table 4. Default Client-Throttling Policy Settings
EASMaxConcurrency10The number of concurrent connections an ActiveSync user can have running concurrently.
EWSMaxConcurrency10The number of concurrent connections an Exchange Web Services user can have running concurrently.
EWSFastSearchTimeoutInSeconds60The length of time, in seconds, searches made by EWS run before timing out.
OWAMaxConcurrency5The number of concurrent connections an Outlook Web App user can have running concurrently.
POPMaxConcurrency20The number of concurrent connections a POP3 user can have running concurrently.
PowerShellMaxConcurrency18For Remote Windows PowerShell users, the number of remote Windows PowerShell concurrent sessions. For Exchange Web Services, the number of concurrent cmdlet executions that a user can have at the same time.
RCAMaxConcurrency20The number of concurrent connections an RPC Client Access user can have running concurrently.
CPUStartPercent75The per-process CPU percentage at which users begin to be backed off.

Note: It is a best practice to make sure that no throttling policy parameters are set to $null (no limit). This prevents users from unintentionally placing a high load on the server.

Inside Track: BlackBerry and Performance Impacts

Robin Thomas

Program Manager, Exchange Mailbox, Microsoft Corporation

Soon after Exchange 2010 was released, customers who used RIM BlackBerry Enterprise Server (BES) discovered that BlackBerry devices may experience some issues caused by the new throttling functionality. For example, users who made a change to calendar items, such as deleting an appointment, would not have that change replicated to Exchange. Also, if a BlackBerry user was sent a meeting invite, it would not show up on the device. To fix this issue, you need to disable client throttling. Although disabling throttling completely will certainly fix the problem, you are giving up a lot of protection from this new feature. A better solution is to create a new policy and assign it only to the BES service account. You can create and apply the appropriate throttling policy for the BES service account by typing these two commands into EMS.

  1. New-ThrottlingPolicy BES –RCAMaxConcurrency $null -RCAPercentTimeInCAS $null –RCAPercentTimeInMailboxRPC $null –RCAPercentTimeInAD $null

  2. Set-Mailbox BESAdmin –ThrottlingPolicy BES

BES is the name of the throttling policy and can be anything. BESAdmin is the BES service account.

At this point, you can run Get-ThrottlingPolicy BES to see the details. BES servers access Exchange using RpcClientAccess service, so the only values that are relevant here are RCA*.

For Exchange 2010 RTM, a second configuration change is required for BlackBerry Enterprise Servers to work correctly. In Exchange 2010 SP1 and later, this configuration is covered via the previously-mentioned throttling policy. By default, Exchange only allows 50 concurrent address book connections. The BES account makes lookups on behalf of the users, so you may exhaust this connection limit very quickly. RIM recommends changing the MaxSessionsPerUser value to 100,000 (this is located in the file). Unfortunately, unlike the throttling policy, you cannot configure this setting per user, so it will raise the limit for all users. You may want to start with a smaller number and increase as your number of BlackBerry devices increases.

For more information, visit RIM's Web site for configuring the BlackBerry Enterprise Server with Exchange 2010 help document:

Service Pack 1 includes several improvements for client throttling. In RTM code, the client that has been throttled will end up with failed requests. This can result in poor user experience. Take, for example, an Entourage client that is syncing a mailbox and is constantly going over budget. Any other user requests, such as a name resolution, will also fail. In Service Pack 1, however, instead of failing requests, the request is added to an asynchronous queue that will delay processing. This sleep time is equal to a backoff time plus 1 millisecond. At the time of this writing, the backoff time had not been finalized. For batch operations, processing will pause until the caller has regained 1 millisecond of budget. Then, processing will continue starting with the item left off, and it will stream the items back to the caller as they are processed.

3.7. MailTips

MailTips is a very useful new feature that will make a lot of users happy. It is important to first understand the feature before we look at the mechanics and performance impact of turning it on.

How many times have you sent an e-mail only to receive an out-of-office notification? MailTips provides feedback while composing a message, before you hit send. Figure 11 shows an example of an e-mail with two informational messages. MailTips lets the user know that he is sending mail to a distribution list that has a large number of members. Also, Jeffrey is out of the office, so the user may want to send the message to one of Jeffrey's peers.

Figure 11. MailTips example

Keep in mind that MailTips is not a security measure, meaning that is does not prevent users from taking action. Rather, the MailTips feature only provides useful information to help users make better decisions before hitting Send. There are a number of prebuilt MailTips, as listed in Table 5.

Table 5. Exchange 2010 MailTips
Invalid Internal RecipientInforms the user that a user does not exist for an e-mail address within the organization.Active DirectoryNo
Mailbox FullA recipient has a full mailbox.Mailbox StoreNo
Automatic RepliesA recipient has an automatic reply enabled (such as out-of-office).Mailbox StoreNo
CustomA recipient has a custom MailTip enabled.Active DirectoryYes
Restricted RecipientA recipient has a mail delivery restriction configured.Mailbox StoreNo
External RecipientsA recipient is external or part of a distribution list.Group MetricsYes
Large AudienceA distribution list contains more than 25 members (configurable).Group MetricsYes
Moderated RecipientA recipient is enabled for moderation.
Reply-All on BCCThe user replies all to a message on which he or she was bcc'd.

Oversize MessageThe message is larger than the organizational limit, maximum send size on the user's mailbox, maximum receive size on the recipient's mailbox, or maximum request length setting for OWA.

MailTips are triggered by the mail client during one of the following operations:

  • Adding an attachment

  • Adding a recipient

  • Reply or Reply-All

  • Opening a message from the Drafts folder

MailTips processing occurs in a background thread, so it will not impact the user working with their message. In other words, users do not have to wait for MailTips to finish processing before they send a message, if that is what they want to do.

Figure 12 provides a deeper look at the MailTips architecture. The source for MailTips data comes from Active Directory, Exchange Mailbox Server, and Group Metrics data.

The Groups Metrics process is responsible for collecting and recording information about the size of distribution lists and external recipients. This information is used for the external recipient and large audience MailTips.

Figure 12. MailTips architecture

Groups Metrics generation happens by default on the Mailbox server that is responsible for creating the OAB and can be assigned to another Mailbox server, which is important in a large organization. On Sunday, a full generation runs for every group (both static and dynamic) within a random time two hours from midnight. Each day, the process will generate incremental results. The day for full generation is hard-coded, but the generation time can be set using the set-mailboxserver property named GroupMetricsGenerationTime (24-hour format). If you change the GroupMetricsGenerationTime property, the next generation occurs according to the old schedule. Subsequent generations will start at the new time. You can force regeneration by restarting the Microsoft Exchange Service Host service or rebooting the server. The process creates files by default in the <Exchange_Install_Path>\GroupMetrics. The files created are shown in Table 6.

Table 6. GroupMetrics Files
GroupMetrics-<date>T<time>.binBinary file containing the membership and external members count
GroupMetrics-<servername>.xmlXML file containing information about the Group Metrics generation server
ChangedGroups.txtPlaintext file containing the list of groups that were updated since the last time Group Metrics was run

Every eight hours, the Microsoft Exchange File Distribution Service on the Client Access server builds a list of Mailbox servers that have Group Metrics generation enabled. By default, the organizational configuration setting for Group Metrics is enabled. This means that Group Metrics will be generated on every mailbox server that generates an OAB and will also generate Group Metrics data and be included in the list. In addition, the list includes mailbox servers that are explicitly enabled for GroupMetrics generation. The property GroupMetricsGenerationEnabled is used to manually enable generation for a Mailbox server and is set to false by default. After the list is created, the Client Access server will pull the Group Metrics data from the best server. The best server is based on Active Directory sites and link costs. One option is to leave GroupMetricsGenerationEnabled set to false and let the Client Access server use the OAB topology. This is one less topology that needs to be designed and maintained. For organizations that do not use OABs or need more control, the option still exists to create your own topology.

To support offline clients, the OAB was extended to have MailTips data. Table 5 lists which MailTips are available offline.

The process for evaluating MailTips is shown in Figure 13.

Figure 13. MailTips evaluation process

  1. The mail client makes a request to the local Client Access server.

  2. The Client Access server retrieves data from Active Directory and reads the Group Metrics data (locally).

  3. For local recipients in the message header, the Client Access server queries the Mailbox server.

  4. For each remote recipient, the Client Access server makes a request to the remote recipient's Client Access server.

  5. The remote Client Access server makes RPC requests for data from the remote Mailbox server.

  6. The remote Client Access server returns MailTips information about the remote recipients to the local Client Access server.

  7. The Client Access server returns the MailTips information back to the client.

To limit performance impact, you should be aware of a few constraints. First, only messages with less than 200 recipients will be evaluated for MailTips. Second, individuals in a distribution group are not separately evaluated. Finally, the MailTips for Automatic Replies and Mailbox Full are reevaluated every two hours for draft messages that are left open for extended periods when being composed. This ensures a user has fresh information when they leave a message open for a long period of time.

Other -----------------
- Exchange Server 2010 Mailbox Services Configuration (part 5) - Configuring Public Folders
- Exchange Server 2010 Mailbox Services Configuration (part 4) - Client Configuration
- Exchange Server 2010 Mailbox Services Configuration (part 3)
- Exchange Server 2010 Mailbox Services Configuration (part 2) - Database Maintenance
- Exchange Server 2010 Mailbox Services Configuration (part 1)
- Exchange Server 2007: Monitor Your Exchange Environment (part 4) - Microsoft Operations Manager (MOM 2005)
- Exchange Server 2007: Monitor Your Exchange Environment (part 3) - Performance Troubleshooter
- Exchange Server 2007: Monitor Your Exchange Environment (part 2)
- Exchange Server 2007: Monitor Your Exchange Environment (part 1)
- Use the Exchange 2007 Toolbox to Troubleshoot
Top 10
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 2) - Wireframes,Legends
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 1) - Swimlanes
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Formatting and sizing lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Adding shapes to lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Sizing containers
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 3) - The Other Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 2) - The Data Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 1) - The Format Properties of a Control
- Microsoft Access 2010 : Form Properties and Why Should You Use Them - Working with the Properties Window
- Microsoft Visio 2013 : Using the Organization Chart Wizard with new data
- First look: Apple Watch

- 3 Tips for Maintaining Your Cell Phone Battery (part 1)

- 3 Tips for Maintaining Your Cell Phone Battery (part 2)
programming4us programming4us