The Exchange User Monitor was released in 2005 for Exchange Server 2003.
This tool allows an administrator the capability to dive deeply into the
guts of an Exchange Server and see what is going on with MAPI on that
server. The tool regularly updates its display (by default, every 60
seconds), tracing the activity of each MAPI connection that is open to
the Information Store. This includes connections that occur via Outlook
Anywhere (RPC/HTTP).
Using ExMon it is possible to determine how much of the Information
Store resource any specific user is consuming. It especially helps to
determine any users that may be using too many system resources. And
actually, if a user has multiple connections, each connection may be
tracked separately. Resources that are tied to the information store
include such things as: the number of RPC packets that are sent and
received, the number of operations (like read, delete, move, etc.), how
many bytes were sent and received between the server and client, how
much CPU time it took to perform each one of the RPC operations, etc.
There are also client specific sets of information that are displayed by
ExMon, such as the client’s access token (i.e., their username), the
version of the client connecting (i.e., the version of Outlook), and the
IP address of the client computer.
You don’t have to look far to find an example of how ExMon can help. For
example, the initial release of Google Desktop Search did not throttle
its use of Exchange resources. It would open several MAPI connections to
an Exchange server to download mailbox information and do so as fast as
it could. Just a few copies of GDS running on a network against large
mailboxes could bring an Exchange server to its knees due to performance
issues. Because of this and other similar situations, ExMon acquired
quite a following within the Customer Support and Services (CSS, which
most people still call PSS) organization of Microsoft, as well as within
various online communities. In fact, ExMon is part of the Exchange
Performance Troubleshooter, which is part of the Exchange Management
Console in Exchange 2007.
ExMon works by using a Windows technology known as ETW - Event Tracing
for Windows. ETW was first introduced in Windows 2000 Server. ExMon
requires two registry keys to be set, one of which enables RPC tracing
within the Information Store and one of which enables WMI to return ETW
information. A restart is not required for either key to take effect.
Tracing is a technology originally developed to assist in low-level
debugging of applications and the Windows operating system itself.
Because of this, trace files are not compatible between applications.
That is, ExMon for Exchange Server 2003 will not work with Exchange
Server 2007.
When collecting samples, ExMon has very low impact on an Exchange
server. However, depending on how busy a server is, or how many
connections it has, the data analysis portion of each ExMon cycle can
consume significant system resources. Also there are some situations
that can cause ExMon’s trace files to become disconnected from the
application itself. In this case, the trace files can grow to be very
large (512 MB).
Because of these (and other) reasons, ExMon has not been released for
Exchange Server 2007. If you run the Performance Troubleshooter, it will
actually generate errors because ExMon is not available. In order to
obtain ExMon, you will need to open a support case with CSS and request
it. My contacts within Microsoft say that there is an ongoing dialog
regarding the general release of ExMon, but so far, the decision has
been “not to”.