Exchange 2007-2010 Common Performance Counters

Version 1

    This template contains common Exchange and OS performance counters (CPU usage, available memory, LDAP times, and so forth) that can be monitored for all Exchange 2007 and 2010 roles. This template requires additional configuration. You can use this template together with other Exchange 2007 and 2010 templates.

    Prerequisites:
    RPC and WMI access to the Exchange server.

    Credentials: Windows Administrator on target server.


    Monitored Components

    These performance counters are based on the following information:


    % Processor Time

    Shows the percentage of time that the processor is executing application or operating system processes. This is when the processor is not idle.

    Should be less than 75% on average.


    Available Mbytes (memory)

    Shows the amount of physical memory, in megabytes (MB), immediately available for allocation to a process or for system use. It is equal to the sum of memory assigned to the standby (cached), free, and zero page lists. For a full explanation of the memory manager, refer to Microsoft Developer Network (MSDN) or "System Performance and Troubleshooting Guide" in the Windows Server 2003 Resource Kit. Should remain above 100 MB at all times.


    .NET CLR Memory: % Time in GC

    Shows when garbage collection has occurred. When the counter exceeds the threshold, it indicates that the CPU is cleaning up and is not being used efficiently for load. Adding memory to the server would improve this situation.

    Should be below 10% on average. If this counter increases to a high value, there might be some objects that are surviving Gen 1 garbage collections and being promoted to Gen 2. Gen 2 collections require a full global catalog for clean up. Add other .NET Framework memory counters to determine if this is the case.


    .NET CLR Exceptions: # of Excepts Thrown / sec

    Displays the number of exceptions thrown per second. These include both .NET Framework exceptions and unmanaged exceptions that get converted into .NET Framework exceptions. For example, the null pointer reference exception in unmanaged code would get thrown again in managed code as a .NET Framework System.NullReferenceException. This counter includes both handled and unhandled exceptions. Should be less than 5% of total requests per second. Exceptions should only occur in rare situations and not in the normal control flow of the program. This counter was designed as an indicator of potential performance problems due to a large (greater than 100 sec) rate of exceptions thrown. This counter is not an average over time. It displays the difference between the values observed in the last two samples divided by the duration of the sample interval.


    LDAP Search Time

    Shows the time (in ms) to send an LDAP search request and receive a response.

    Should be below 50 ms on average. Spikes (maximum values) should not be higher than 100 ms.

    Note: The instance field is installation-specific. You need to specify the full DNS name of the Domain Controller (for example: dc.example.com).


    LDAP Read Time

    Shows the time in milliseconds (ms) to send an LDAP read request to the specified domain controller and receive a response.

    Should be below 50 ms on average. Spikes (maximum values) should not be higher than 100 ms.

    Note: The instance field is installation-specific. You need to specify the full DNS name of the Domain Controller (for example: dc.example.com).


    LDAP Searches timed out per minute

    Shows the number of LDAP searches that returned LDAP_Timeout during the last minute.

    Should be below 10 at all times for all roles. Higher values may indicate issues with Active Directory resources.

    Note: The instance field is installation-specific. You need to specify the full DNS name of the Domain Controller (for example: dc.example.com).


    Long running LDAP operations/Min

    Shows the number of LDAP operations on this domain controller that took longer than the specified threshold per minute. (Default threshold is 15 seconds.)

    Should be less than 50 at all times. Higher values may indicate issues with Active Directory resources.

    Note: The instance field is installation-specific. You need to specify the full DNS name of the Domain Controller (for example: dc.example.com).


    Page Reads/sec (memory)

    Indicates data must be read from the disk instead of memory. Indicates there is not enough memory and paging is beginning. A value of more than 30 per second means the server is no longer keeping up with the load.

    Should be less than 100 on average.

     

    Portions of this document were originally created by and are excerpted from the following sources:

    Microsoft Corporation, “Technet Library,” Copyright © 2012 Microsoft Corporation.  All rights reserved. Available at

    http://technet.microsoft.com/en-us/library/bb691338.aspx and http://technet.microsoft.com/en-us/library/bb201689%28EXCHG.80%29.aspx