Exchange Server performance problems can be difficult to pinpoint and troubleshoot. You can choose your preferred explanation for this, because there are several: - Complex environments have lots of moving parts, some of which can slow message flow in unexpected or counterintuitive ways. For example, if you have reverse DNS resolution enabled for inbound messages, and your DNS server has a performance problem, your inbound SMTP flow will be affected, but the Exchange log won't show any overt signs. - Users are notorious for reporting performance problems, but often without giving enough specific information to help you localize the problem. In addition, two users might have two different opinions about performance on the same mailbox server. - Unless you know exactly what you're looking for, it can be tough to isolate the root cause of performance problems. This doesn't hold true for obvious problems (e.g., an average disk queue length of 15 would probably tell you something's amiss on an average server).
Microsoft has been attacking this problem in several ways. First, the company has been offering the Exchange Best Practices Analyzer (ExBPA) to help administrators identify configuration problems in their environments. Many of the items that ExBPA checks are performance-related, and running it is a good first step towards ensuring that your Exchange performance is everything that it could be. ExBPA's focus is on identifying configurations and settings that deviate from Microsoft's recommended best practices, though, so it won't necessarily find every actual or potential problem.
If you're trying to find out why one user is experiencing slow performance with Outlook or Exchange, you can use the Exchange Server User Monitor (ExMon) tool that I wrote about last April (see the URLs below). ExMon is a good way to look at performance data for individual users to see exactly which resources their client software is using on the server. Interestingly, desktop search programs such as Google Deskbar are often responsible for user-specific slowdowns; when they start indexing Exchange mailboxes in Outlook, they can generate huge numbers of remote procedure call (RPC) requests that bog down the server.
As valuable as ExMon and ExBPA are, they're not always useful for tracking down more general performance problems. That's where the Exchange Performance Troubleshooting Analyzer (ExPTA) comes in. ExPTA analyzes RPC performance data to attempt to locate root causes of poor performance. For now, it's not yet a general-purpose performance-troubleshooting tool, but I expect it will evolve into one in time; the current version focuses on these problem areas: - Unexpectedly high numbers of RPC operations - Complaints from multiple users about slow Outlook performance.
These problems are often related, particularly if you have more users connecting to the server than it can keep up with--a not-uncommon experience. For example, disk bottlenecks (something that ExPTA checks for) can slow down responses to information store (IS) queries, evidenced by excessive latency for client RPC requests. You might not immediately make the connection between user complaints of poor performance and your disk configuration, but ExPTA will help make the connection for you.
To run ExPTA, download it from Microsoft's Web site (http://www.microsoft.com/downloads/details.aspx?FamilyID=4bdc1d6b-de34-4f1c-aeba-fed1256caf9a&DisplayLang=en )and install it on a computer in the same domain as the Exchange server whose performance you want to review (although you can install it on the Exchange server, Microsoft recommends that you not do so). After you install the .msi file, launch ExPTA and tell it what server you want to monitor, as well as what Global Catalog (GC) you want to use for testing. Ideally, you'll use the same GC that the users who are having problems are using because poor GC performance can definitely cause Exchange performance problems. After you provide this information, ExPTA will run a variety of tests on the target servers, reporting any problems that it finds.
My favorite ExPTA test is the "Disk Drive and Exchange Data File" test set, which reminds me of the simple tests included in the Exchange Server 5.5 Performance Wizard. ExPTA checks for the basic commandments of Exchange storage design, including separating log files and databases, keeping Exchange off the boot volume, and so on. These are valuable checks, and I hope to see them extended in future versions.
ExPTA is still very much a version 1.0 tool; there are lots of other functions that could be added to make it more capable. In particular, I'd like to see analysis of message delivery and submission behavior included, and I'd like to see real disk benchmarking so that you'd get a warning if you weren't using the fastest appropriate logical disk for a given set of files. However, even as it stands, ExPTA is a valuable tool, and if you haven't already used it, you should.
(In closing, thanks to reader Brian Beitel for asking me to write a column on ExPTA. I love getting suggestions about what you'd like to see covered in future columns.)
The Exchange User Monitor Tool, Part I http://www.windowsitpro.com/Articles/ArticleID/46047/46047.html
The Exchange User Monitor Tool, Part II http://www.windowsitpro.com/Articles/ArticleID/46337/46337.html
Getting Started with ExMon http://www.windowsitpro.com/Articles/ArticleID/47215/47215.html