XADM: Improving the Scalability and Performance of Exchange Store Events (316358)



The information in this article applies to:

  • Microsoft Exchange 2000 Server

This article was previously published under Q316358

SUMMARY

Exchange 2000 store events provide an interface for responding to changes in data in the Exchange store. You must take care when you design solutions that involve a large number of event handlers or a large number of users. This article provides information about the best practice for designing and deploying event handlers in these situations.

MORE INFORMATION

If a store event handler is bound to a large number of user mailboxes, the Exchange store's startup performance might be severely impacted. The same situation might also occur if a large number of event handlers are bound to a small number of user mailboxes because the overall total of event bindings is high in either case.

When the Exchange store starts, each event handler binding must be individually initialized. Depending on the performance characteristics of the underlying hardware, the store may take 30 minutes or more to start if there are a large number of bindings. This poor startup performance can have a detrimental effect on the overall availability of an Exchange 2000 server.

Microsoft recommends that you implement store-wide (also known as per-Messaging Database [MDB]) store event handlers to avoid this situation. If the event handler code is not relevant to all of the users that are homed in a particular MDB, the store event handler logic should determine whether or not to act based on the information that is passed to the store event handler. Wherever possible, multiple event handlers should be combined to reduce the total number of event handler registrations.

For additional information about registering store-wide event handlers, see the following Microsoft Web site:

Modification Type:MinorLast Reviewed:4/28/2005
Keywords:kbArtTypeINF kbinfo KB316358