In 2004, Microsoft took the first of many steps to improve the operation of Exchange installations by introducing Exchange Server Best Practices Analyzer (ExBPA), a tool that analyzes your Exchange organization by using rules that Microsoft regularly updates, to highlight misconfigurations and variations from best practice. Microsoft used the same concept in building Exchange Server Performance Troubleshooting Analyzer (ExPTA) 1.0, a multistep wizard tool that's based on ExBPA's framework. ExPTA collects configuration information, performance-counter data, and live tracing information from your Exchange server environment; analyzes that information; and identifies problems and possible solutions. ExPTA is easy to download, install, and operate, and it can benefit businesses of all sizes. Let's look at what you need to get this tool, how to install it, and how it works.

ExPTA Requirements
With one exception that I explain later in the "Analyzing RPC Activity" section, you should install ExPTA on a different system from the one you want to analyze; when you run ExPTA, you'll select the Exchange servers to analyze. Microsoft recommends running ExPTA on a Windows XP system, but you can also run the tool on Windows Server 2003, Windows 2000 Server, and Windows 2000 Professional. ExPTA requires a system that has a 133MHz or higher processor (I've found that 1GHz or higher is a more realistic requirement), a minimum of 256MB of memory (and an additional 256MB for every 50 Exchange servers under analysis), and 10MB of disk space (and an additional 2MB per server under analysis). If you have more than 100 Exchange servers in your environment, you should use dual-processor systems to host ExPTA.

ExPTA analyzes both mixed-mode and native-mode Exchange Server 2003 and Exchange 2000 Server environments, but it doesn't analyze pure Exchange Server 5.5 environments. ExPTA works with all Exchange 2003 and Exchange 2000 service packs that are supported on Windows 2003 and Windows 2000 Service Pack 3 (SP3) and higher platforms. ExPTA took about five minutes to run in my relatively small test environment consisting of a few single-CPU servers, but you might find that on more complex environments with larger servers, ExPTA takes a little longer to run. In addition, you can use ExPTA to analyze only Exchange systems that have Windows .NET Framework 1.1 and a US English OS installed.

Installing ExPTA
You can download ExPTA from the Exchange TechCenter Web site (http://www.microsoft.com/technet/prodtechnol/exchange/downloads/2003/tools.mspx). Select the Exchange Server Performance Troubleshooting Analyzer download, and save the file (ExPTA.msi) to your local system. The ExPTA.msi file is a mere 3.6MB and doesn't take too long to download.

When you install ExPTA by double-clicking the ExPTA.msi file, you're prompted for two file-system locations. The first location, the installation directory (which by default is C:\Program Files\ExPTA), contains the ExPTA binaries and program files, and the second is the ExPTA data directory (which, if you install the tool using the Administrator account, by default is C:\Documents and Settings\Administrator\Application Data\Microsoft\ExPTA). Although the installation default is to install the ExPTA program files on the system disk partition, don't select the system partition to hold the data files. ExPTA generates some data files as it runs, including data it gathers from remote Exchange systems, which the analysis engine then processes. Microsoft advises that you choose another storage location for the data directory to ensure the best possible performance of the tool. In general, when installing the tool on an XP workstation or an Exchange server itself, make sure that you allot sufficient space for the data files on the drives so that you won't run into space problems as ExPTA gathers data.

The account from which you run ExPTA needs to have at least Domain User permissions for the Global Catalog (GC) server to which you're connecting. (Because ExPTA uses Active Directory (AD) to retrieve configuration information about an Exchange organization, the first time you run ExPTA you need to specify a GC server to which ExPTA can connect before it gathers any performance information.) Similarly, the account should be a member of the local Administrators group on each Exchange server that ExPTA will analyze; otherwise ExPTA can't access the Windows Management Instrumentation (WMI) and registry information. When connecting to the GC, you may specify additional credentials if the account from which you're running ExPTA lacks the appropriate permissions.

Capturing the Information
ExPTA uses a variety of sources to capture data, specifically AD and WMI. ExPTA uses AD to obtain various items of configuration information about the Exchange servers it's analyzing and registry information about specific Exchange servers. ExPTA also uses WMI to collect some information, such as I/O performance counters. Exchange 5.5's lack of available WMI facilities partially explains why that platform isn't supported in its own right. (ExPTA can collect a limited amount of information for Exchange 5.5 servers in mixed Exchange 2003, Exchange 2000, and Exchange 5.5 environments.) Therefore, ExPTA won't provide as comprehensive a report on Exchange 5.5 systems as on Exchange 2003 and Exchange 2000 systems.

Updating Configuration Files
After you've installed ExPTA, you can run it from Start, All Programs, Microsoft Exchange, Performance Troubleshooting Analyzer. Whenever you run ExPTA, it checks for updates on the Checking for Updates Web page that Figure 1 shows. You can cancel the check by clicking the Cancel this check button at any time during the update check. You can suppress ExPTA's configuration file-update checks by clearing the Check for updates on startup box on the Configuration Options page. You might want to suppress update checks if you run ExPTA on a system that has no Internet connection and is used solely for managing the Exchange environment. By doing so, you'll avoid timeouts that could occur during the unnecessary update checks.

ExPTA's initial shipping version (i.e., 1.0) has a 1.0.3.0 configuration file version. You can see this version number at around line 18 in the ExPTA.Config.xml configuration file, which is located in C:\Program Files\ ExPTA\en, assuming you chose the default installation location. As ExPTA starts up, it checks its version number against the Web version of the ExPTA.Config.xml file on the Checking for Updates Web page. If the Web version is higher, signifying that a more recent configuration file is available, you're prompted to download the updated version, although you can decline the download if you want. The most recent version (at the time of writing) was 1.2.1.0. (If you look through the rest of the ExPTA.Config.xml file, you'll see evidence of the tool's kinship with ExBPA in the many references to the ExBPA tool's naming structures found throughout the file.)

If you want to download and install updated configuration files, you must be logged on to an account with administrative permissions on the system on which you're running ExPTA. Also, ExPTA can't download configuration files if you use a proxy server that requires a username and password to connect to the Internet.

Analyzing RPC Activity
When you run ExPTA, you can select the type of performance symptom that you want to analyze on the page that Figure 2 shows. This option displays automatically at the start of an ExPTA session. The current list of analysis options might change over time as Microsoft updates and enhances the tool. For example, if you're experiencing performance problems on an Exchange server, you can tell ExPTA to analyze the remote procedure call (RPC) activity on your selected server, by selecting the The number of RPC operations per second is higher than expected option.

However, when you select this option, there's a catch. If you want to analyze RPC activity, you must first collect the RPC-tracing information and put it in the event trace log (.etl) files by using the Exchange Server User Monitor (ExMon) tool. (For more information about how to use ExMon, see "Getting Started with ExMon," October 2005, InstantDoc ID 47215.) After you collect the RPC-tracing information, ExPTA can analyze the .etl files and report on the performance of the server under investigation.

As I mentioned earlier, you should install ExPTA on a workstation and not on an Exchange server. However, there is one exception to this rule: If you haven't used ExMon to collect RPC-tracing information before analyzing the RPC activity, you can opt to have ExPTA collect the RPC-tracing information on the Exchange server on which ExPTA is installed. To enable ExPTA to do so, you'll need to check the Collect the Exchange Server User Monitor (ExMon) Trace data for me box on the Analyze User RPC Activity page. ExPTA then collects the RPCtracing information for a period of five minutes, after which it can analyze the data. I suggest you perform this datatracing activity on the Exchange server when you're experiencing performance problems.

Usually, you'd examine the RPCtracing information only if you were trying to pinpoint the source of a known performance issue. However, if you believe your Exchange server is busier than typical, it's worthwhile to run the RPC checks. In some cases, even when the target server has a low overall connected-user load, the load might generate heavy RPC communications and specific users could experience impaired performance. If ExPTA detects an unusually high workload (e.g., increasing response times for users, excessive I/O response times) from Outlook users or from other Messaging API (MAPI)-based applications, ExPTA will isolate the cause of the problem. More generally, you might use the RPC-tracing feature of ExPTA to analyze your Exchange server's configuration and performance counters to proactively manage performance issues.

Analyzing Server-Performance Bottlenecks
The other performance symptom you can choose to have ExPTA analyze is the Multiple users are complaining... option that Figure 2 shows. When you select this option, ExPTA will identify problems on the Exchange server by performing a series of checks, including connectivity tests, performance counter tests to pinpoint high latencies, configuration tests on disks and file locations, disk-health tests, and miscellaneous tests on general performance, memory, and processor counter checks. Figure 3 and Figure 4 show sample results from the Disk Drive and Exchange Data File and Disk Drive Performance Counter tests. These checks are useful when you're trying to troubleshoot problems reported by multiple users who have experienced delays when switching from one folder to another, or when those annoying Outlook pop-up messages (familiar to Outlook 2002 and earlier users) appear stating that Outlook is waiting for an operation to finish. When you're trying to trace problems associated with a particular mail application, you'll find that problems related to Outlook users will manifest as excessive RPC latency, whereas problems with other clients, such as Outlook Web Access (OWA), will show up as server-related performance bottlenecks.

As Figure 5 shows, after ExPTA completes all its checks, it summarizes and documents the results. Just as you can in ExBPA, you can click each highlighted area for more information and links to Microsoft articles for further explanation and clarification.

ExPTA stores its analysis data in XML format in the data-directory location you specified during installation. At any time, you can view previous reports by choosing the Select a Result File to View menu option at the left side of the ExPTA window. You can import a result file into ExPTA directly if you know its name and location. Result files have the naming structure ExPTA.ID>.data.xml, where ID> is derived from a combination of the file's date-and timestamps and other items.

Moving On
ExPTA certainly isn't the Holy Grail of performance-analysis tools. But it's a first step toward simplifying complex and confusing Exchange performance tuning and troubleshooting. Today's ExPTA tool is limited in its capabilities, and it analyzes only fundamental performance characteristics. But its limited scope shouldn't diminish its worth. The tool is best suited for small-to-midsized Exchange installations ( perhaps where it will be most warmly received), but its fundamental concepts are equally applicable to large installations. If you do run it on your large, well-tuned Exchange server with oodles of high-performance SAN-based storage, there's always the possibility that it might uncover something that you've missed.

Using the development of its big brother ExBPA as a guide, over the coming 12 to 18 months we can expect ExPTA to evolve into a more useful analysis tool that identifies, examines, and highlights all manners of performance issues. ExPTA focuses on performance issues that manifest themselves to users; however, even if your users aren't complaining about poor performance, ExPTA is a useful tool to discover performance problems that are waiting to happen. Maybe someday, in the not-too-distant future, ExPTA will also be able to fix those problems.