XADM: Understanding Performance and Scalability Characteristics of Exchange 2000 MDB Online Maintenance (271222)



The information in this article applies to:

  • Microsoft Exchange 2000 Server

This article was previously published under Q271222

SUMMARY

The Exchange 2000 information store requires periodic online maintenance to be run against each messaging database (MDB). By default, each MDB runs online maintenance between the times of 1:00 A.M., and 5:00 A.M. Online maintenance performs a variety of tasks that are necessary to keep the information store in optimal condition. These tasks include, but are not limited to:
  • Task 1: The checking of Active Directory to determine if there are any deleted mailboxes.
  • Task 2: Hard deletion of any messages and/or mailboxes that are older than the configured retention policy.
  • Task 3: Defragmentation of the MDB (online defrag).
All of the operations that online maintenance performs have specific performance costs that you should understand before implementing an online maintenance strategy.

MORE INFORMATION

Task 1 performs an Active Directory lookup for each user in the MDB. The amount of users that are in each MDB determines the number of Active Directory (LDAP) searches. These searches are used to keep the information store synchronized with any Active Directory changes (specifically, to a check for deleted mailboxes). The performance cost of Task 1 is negligible on the Exchange Server but can be significant on the Active Directory server depending on the number of users, number of MDBs, and the online maintenance times of each MDB.

By default, in a corporate scenario, the online maintenance occurs during the night when very few users are logged on, which means that the load on the Active Directory servers would be very low. The extra domain controller (DC) load created by online maintenance should not be a problem in this scenario.

If Exchange 2000 is installed in a global data center that serves customers from multiple time zones, the default online maintenance time could become an issue. The effect that online maintenance has on Active Directory is proportional to the number of users in each of the MDBs of the servers. A check for a deleted mailbox is performed against each user in an MDB. Therefore, if you have 10,000 users in an MDB, it performs 10,000 LDAP searches against Active Directory at the beginning of the online maintenance for that MDB. If the Active Directory servers are continually under moderate load, it is necessary to stagger the online maintenance, such as setting each MDB to start maintenance at a different time. This is particularly critical if you have hundreds of thousands of users spread across dozens of servers, and hundreds of MDBs.

Tasks 2, and 3 are very disk-intensive, and only affect the server on which the maintenance is being performed. During this portion of online maintenance, users may perceive the server as being sluggish if many MDBs perform online maintenance at the same time. Again, in corporate scenarios this occurs at night, when the server can easily handle the extra load. In a global data center, it may make sense to stagger the MDBs (on a single server) to spread the disk-intensive tasks over a greater amount of time.

Online backup can further complicate matters. Backing up an Exchange 2000 MDB halts the online defrag of any MDB within that storage group (they restart if the backup finishes before the maintenance interval passes). If you have two MDBs in a single storage group where one is running online maintenance, and online backup is started against either MDB, the online defrag that is occurring on the MDB which is running online maintenance halts. It is critical that the backup time for any MDB within a storage group does not conflict with the maintenance times of any MDB within the same storage group. If there is a conflict, the backup ends the online defrag portion of the online maintenance of the information store, and the MDB may never finish defragmenting.

You can devise a correct online maintenance strategy by examining the user profile (look for times of low activity), and by knowing how many users, MDBs, and servers are in the site. You should then coordinate this information with your online backup strategy.

Example

Here is an example of an online, information store maintenance schedule for a corporate Exchange mailbox server that hosts users for a single time zone:

First Storage Group

Mdb1: Online maintenance runs between 9:00 P.M. and 1:00 A.M.
Mdb2: Online maintenance runs between 9:30 P.M. and 1:30 A.M.
Mdb3: Online maintenance runs between 10:00 P.M. and 2:00 A.M.
Online backup begins at 2:00 A.M. (backs-up all MDBs in the storage group when all MDBs have finished their online maintenance.

Second Storage Group

Mdb4: Online maintenance runs between 10:30 P.M. and 2:30 A.M.
Mdb5: Online maintenance runs between 11:00 P.M. and 3:00 A.M.
Mdb6: Online maintenance runs between 11:30 P.M. and 3:30 A.M.
Online backup begins at 3:30 A.M. (backs up all MDBs in the second storage group when all MDBs have finished their online maintenance.

This configuration staggers the Active Directory LDAP queries that are generated by online maintenance, and that are performed in the first minutes of online maintenance. Doing this ensures that the online backup does not interfere with the online defragmentation.
For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

183675 XADM: Exchange Server 5.5 and Exchange 2000 Online Defragmentation Does Not Run During Backup

812992 XADM: Users Cannot Open E-Mail Messages When You Run Online Defragmentation on Exchange 2000 Server


Modification Type:MinorLast Reviewed:4/28/2005
Keywords:kbinfo KB271222