Monitoring Client Access Servers
Microsoft Exchange Server 2007 will reach end of support on April 11, 2017. To stay supported, you will need to upgrade. For more information, see Resources to help you upgrade your Office 2007 servers and clients.
Applies to: Exchange Server 2007, Exchange Server 2007 SP1, Exchange Server 2007 SP2, Exchange Server 2007 SP3
This topic provides guidance about the most useful performance counters to monitor on servers running Microsoft Exchange Server 2007 with the Client Access role installed. When monitoring Exchange 2007 servers, you should know which performance aspects are most important. The counters and threshold values detailed in this topic can be used to proactively identify potential issues and help identify the root cause of issues when troubleshooting.
ASP.NET Counters
Exchange Web Services depend upon both .NET Framework and ASP.NET. Issues with either foundation can cause significant problems for the Client Access server role. The following counters can be used to locate issues not with Exchange Web Services themselves but with the underlying architecture.
Counter | Expected values |
---|---|
ASP.NET\Application Restarts Shows the number of times the application has been restarted during the Web server's lifetime. |
Should be 0 at all times. |
ASP.NET\Worker Process Restarts Shows the number of times a worker process has restarted on the computer. |
Should be 0 at all times. |
ASP.NET\Requests Current Shows the current number of requests, including those that are queued, currently executing, or waiting to be written to the client. Under the ASP.NET process model, when this counter exceeds the requestQueueLimit defined in the processModel configuration section, ASP.NET will begin rejecting requests. The maximum value is 5,000. The server will return a 503 error if this value is exceeded. Note This value can be increased in the machine.config file to allow for Client Access server scalability. |
Should be less than 5,000 at all times. |
ASP.NET\Request Wait Time Shows the number of milliseconds the most recent request was waiting in the queue. |
Should be less than 1,000 milliseconds (ms) at all times. |
ASP.NET Applications(*)\Requests In Application Queue Shows the number of requests in the application request queue. The maximum value is 5,000. The server will return a 503 error if this value is exceeded. |
Should be less than 5,000 at all times. |
Availability Service Counters
The Availability service in Exchange 2007 replaces the legacy Schedule+ Free/Busy system folder, providing Microsoft Office Outlook 2007 clients a more up-to-date means of checking resource availability. These counters help you to assess the client load and responsiveness of the service itself.
Counter | Expected values |
---|---|
MSExchange Availability Service\Availability Requests (sec) Shows the number of requests serviced per second. The request can be only for free/busy or include suggestions. One request may contain multiple mailboxes. Determines the rate at which Availability service requests are occurring. |
Not applicable |
MSExchange Availability Service\Average Time to Process a Free Busy Request Shows the average time to process a free/busy request in seconds. One request may contain multiple mailboxes. Free/busy responses do not have meeting suggestions. |
Should always be less than 5. |
Client Access Server Disk Counters
Because Client Access servers typically perform all operations exclusively in memory, disk resource usage should be minimized. These counters alert an administrator to unusual disk activity based on the system's role.
Note
These counters assume that the server is performing only the Client Access server role. These counters are inappropriate for servers performing multiple role functions, because their profile is markedly different.
Counter | Expected values |
---|---|
LogicalDisk(_Total)\Disk Reads/sec Indicates that a paging situation may exist because data was read from disk instead of memory. |
Should be less than 50 at all times. Disk Writes/sec + Disk Reads/sec = < 50 |
LogicalDisk(_Total)\Disk Writes/sec Indicates that a paging situation may exist because data was written to disk instead of being stored in memory. |
Should be less than 50 at all times. Disk Writes/sec + Disk Reads/sec = < 50 |
Outlook Web Access Counters
These new counters for Outlook Web Access help you to determine if problems with HTTP access are local to the Client Access server.
Counter | Expected values |
---|---|
MSExchange OWA\Average Response Time Shows the average time (in milliseconds) that elapsed between the beginning and end of an OEH or ASPX request. Used to determine the latency that a client is experiencing. |
Should be less than 100 ms at all times. Higher values may indicate high user load or higher than normal CPU time. |
MSExchange OWA\Average Search Time Shows the average time that elapsed while waiting for a search to complete. |
Should be less than 31,000 ms at all times. |
ActiveSync Service Counters
These new counters for Microsoft Exchange ActiveSync help you to determine if problems with mobile device access are local to the Client Access server.
Counter | Expected values |
---|---|
MSExchange ActiveSync\Average Request Time Shows the average time that elapsed while waiting for a request to complete. Includes Ping Request Time, which can increase the general response time of this counter. Adding ping counters helps clarify where performance is being impacted. Determines the rate at which Availability service requests are occurring. |
Not applicable |
Client Access Server Counters for Determining Load
These counters are invaluable for determining the user demands of a Client Access server and therefore provide critical information for scalability and deployment decisions.
Counter | Expected values |
---|---|
MSExchange ActiveSync\Requests/sec Shows the number of HTTP requests that are received from the client via ASP.NET per second. Determines the current Exchange ActiveSync request rate. |
Not applicable |
MSExchange ActiveSync\Ping Commands Pending Shows the number of ping commands that are currently pending in the queue. Determines current ping commands pending in the queue. |
Not applicable |
MSExchange ActiveSync\Requests/sec Shows the number of HTTP requests that are received from the client via ASP.NET per second. Stats Only to determine current user load. |
Not applicable |
MSExchange ActiveSync\Sync Commands/sec Shows the number of Sync commands that are processed per second. Clients use this command to synchronize items within a folder. Stats Only to determine current user load. |
Not applicable |
MSExchange Availability Service\Availability Requests (sec) Shows the number of requests serviced per second. The request can be only for free/busy or include suggestions. One request may contain multiple mailboxes. Determines the rate at which Availability service requests are occurring. |
Not applicable |
MSExchange OWA\Current Unique Users Shows the number of unique users currently logged on to Outlook Web Access. This value monitors the number of unique active user sessions, so that users are only removed from this counter after they log off or their session times out. Determines current user load. |
Not applicable |
MSExchange OWA\Requests/sec Shows the number of requests handled by Outlook Web Access per second. Determines current user load. |
Not applicable |
MSExchangeAutodiscover\Requests/sec Shows the number of Autodiscover service requests that have been processed each second. Determines current user load. |
Not applicable |
MSExchangeWS\Requests/sec Shows the number of requests processed each second. Determines current user load. |
Not applicable |
Web Service(_Total)\Current Connections Shows the current number of connections established with the Web service. Determines current user load. |
Not applicable |
WebService(_Total)\Connection Attempts/sec Shows the rate that connections to the Web service are being attempted. Determines current user load. |
Not applicable |
Web Service(_Total)\ISAPI Extension Requests/sec Shows the rate that Internet Server API (ISAPI) extension requests are received by the Web service. Outlook Anywhere clients make use of this ISAPI extension for RPC over HTTP requests on servers running the Windows Server 2003 operating system. For Windows Server 2008 counters, see "RPC/HTTP Proxy Counters (Windows Server 2008 Only)" later in this topic. Determines current user load. |
Not applicable |
Web Service(_Total)\Other Request Methods/sec Shows the rate HTTP requests are made that do not use the OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, MOVE, COPY, MKCOL, PROPFIND, PROPPATCH, SEARCH, LOCK or UNLOCK methods. Determines current user load. |
Not applicable |
RPC/HTTP Proxy Counters (Windows Server 2008 Only)
The RPC/HTTP Proxy component in Windows Server 2008 avoids many of the limitations of the Windows Server 2003 equivalent, and these counters assist you in assessing the load and issues with the proxy component.
Counter | Expected values |
---|---|
RPC/HTTP Proxy\Current Number of Incoming RPC over HTTP Connections Shows the current number of front-end HTTP connections. Determines current user load. |
Not applicable |
RPC/HTTP Proxy\Current Number of Unique Users Shows the number of unique users currently connected to a back-end server via RPC/HTTP. Determines current user load. |
Not applicable |
RPC/HTTP Proxy\RPC/HTTP Requests per Second Shows the rate of RPC/HTTP requests sent to the back-end servers. Determines current Outlook Anywhere load. |
Not applicable |
RPC/HTTP Proxy\Number of Failed Back-End Connection attempts per Second Shows the rate at which the RPC proxy attempts are occurring but fail to establish a connection to a back-end server. |
Should be 0 at all times. |
Client Access Server OAB Download Counters
The following counters help track if the Client Access server is having problems downloading the offline address book (OAB) from the Mailbox servers and whether the OAB is not being updated on a default schedule.
Counter | Expected values |
---|---|
MSExchangeFDS:OAB(*)\Download Task Queued Shows a value of 1 if the task is queued for execution, otherwise shows 0. |
Should be 0 at all times. Values greater than 0 indicate a failure to copy OAB data files from Mailbox servers. |
MSExchangeFDS:OAB(*)\Download Tasks Completed Shows the number of OAB download tasks completed since the File Distribution service started. The default value is every 480 minutes or 8 hours. |
Should be less than or equal to 3 per day. Values greater than 3 per day indicate the schedule for the Client Access server to download updated OAB files is not a default schedule. |