5.02021-11-21T21:45:08ZTemplatesExchange 2016Exchange 2016## Overview
Converted the Exchange 2010 Performance Monitoring Templates. Removed unsupported items and replaced them with equivalents that could be found. Added some new items and graphs.
## Author
matt snead
TemplatesMSExchange ADAccessMSExchange ClientMSExchange DatabaseMSExchange OtherMSExchange RpcMSExchange SearchMSExchange StoreMSExchange Transport- Exchange ActiveSync\Current Requestsperf_counter["\MSExchange ActiveSync\Current Requests"]30FLOATShows the number of HTTP requests waiting to be assigned to a threadMSExchange Other
- Exchange ADAccess Domain Controllers(*)\LDAP Read Calls/secperf_counter["\MSExchange ADAccess Domain Controllers(*)\LDAP Read Calls/sec"]30FLOAT/secShows the current rate that LDAP reads occur while processing requests for the client. Used to determine the current LDAP read rate per protocol.
MODIFIED_FOR_EX2016-WAS:perf_counter["\MSExchangeIS Client(*)\Directory Access: LDAP Reads/sec"]MSExchange ADAccess
- Exchange ADAccess Domain Controllers(*)\LDAP Read Timeperf_counter["\MSExchange ADAccess Domain Controllers(*)\LDAP Read Time"]30smsMSExchange ADAccess{avg(#3)}>100Exchange ADAccess Domain Controller LDAP Read Timehttps://blogs.technet.microsoft.com/samdrey/2015/01/26/exchange-2013-performance-counters-and-their-thresholds/WARNING
- Exchange ADAccess Domain Controllers(*)\LDAP Search Timeperf_counter["\MSExchange ADAccess Domain Controllers(*)\LDAP Search Time"]30smsMSExchange ADAccess{avg(#3)}>100Exchange ADAccess Domain Controller LDAP Search Timehttps://blogs.technet.microsoft.com/samdrey/2015/01/26/exchange-2013-performance-counters-and-their-thresholds/WARNING
- Exchange ADAccess Processes(*)\LDAP Read Timeperf_counter["\MSExchange ADAccess Processes(*)\LDAP Read Time"]30smsMSExchange ADAccess{avg(#3)}>100Exchange ADAccess Processes LDAP Read Timehttps://blogs.technet.microsoft.com/samdrey/2015/01/26/exchange-2013-performance-counters-and-their-thresholds/WARNING
- Exchange ADAccess Processes(*)\LDAP Search Timeperf_counter["\MSExchange ADAccess Processes(*)\LDAP Search Time"]30smsMSExchange ADAccess{avg(#3)}>100Exchange ADAccess Processes LDAP Search Timehttps://blogs.technet.microsoft.com/samdrey/2015/01/26/exchange-2013-performance-counters-and-their-thresholds/WARNING
- Exchange Mailbox Calendar Attendant Average Calendar Attendant Processing Timeperf_counter["\MSExchange Calendar Attendant\Average Calendar Attendant Processing Time",30]30FLOATsecShows the average time to process an event in the Calendar Attendant.
Should be a low value at all times. High values may indicate a performance bottleneck.MSExchange Other
- Exchange Mailbox Database I/O Database Reads (Attached) Average Latencyperf_counter["\MSExchange Database(*)\I/O Database Reads (Attached) Average Latency"]30FLOATmillisecIndicates the average time, in milliseconds (ms), to read from the database file.
The average value should be below 20 ms.
Spikes (maximum values) shouldn't be higher than 100 ms.MSExchange Database{avg(600)}>40MSExchange Database(*)\I/O Database Reads (Attached) Average Latencyhttp://technet.microsoft.com/en-us/library/ff367871%28v=exchg.141%29.aspxWARNINGIndicates the average time, in milliseconds (ms), to read from the database file.
The average value should be below 20 ms.
Spikes (maximum values) shouldn't be higher than 100 ms.{avg(600)}>500MSExchange Database(*)\I/O Database Reads (Attached) Average Latencyhttp://technet.microsoft.com/en-us/library/ff367871%28v=exchg.141%29.aspxHIGHIndicates the average time, in milliseconds (ms), to read from the database file.
The average value should be below 20 ms.
Spikes (maximum values) shouldn't be higher than 100 ms.
- Exchange Mailbox Database I/O Database Reads (Recovery) Average Latencyperf_counter["\MSExchange Database(*)\I/O Database Reads (Recovery) Average Latency"]30FLOATmillisecIndicates the average time, in ms, to read from the database file.
The average value should be below 200 ms.
Spikes (maximum values) shouldn't be higher than 1,000 ms.MSExchange Database{avg(600)}>200MSExchange Database(*)\I/O Database Reads (Recovery) Average Latencyhttp://technet.microsoft.com/en-us/library/ff367871%28v=exchg.141%29.aspxWARNINGIndicates the average time, in ms, to read from the database file.
The average value should be below 200 ms.
Spikes (maximum values) shouldn't be higher than 1,000 ms.{avg(1200)}>1000MSExchange Database(*)\I/O Database Reads (Recovery) Average Latencyhttp://technet.microsoft.com/en-us/library/ff367871%28v=exchg.141%29.aspxHIGHIndicates the average time, in ms, to read from the database file.
The average value should be below 200 ms.
Spikes (maximum values) shouldn't be higher than 1,000 ms.
- Exchange Mailbox Database I/O Database Writes (Attached) Average Latencyperf_counter["\MSExchange Database(*)\I/O Database Writes (Attached) Average Latency"]30FLOATmillisecIndicates the average time, in ms, to write to the database file.
This counter isn't a good indicator for client latency because database writes are asynchronous.
In general, this latency should be less than the MSExchange Database\I/O Database Reads (Attached) Average Latency when battery-backed write caching is utilized.MSExchange Database{avg(600)}>100MSExchange Database(*)\I/O Database Writes (Attached) Average Latencyhttp://technet.microsoft.com/en-us/library/ff367871%28v=exchg.141%29.aspxWARNINGIndicates the average time, in ms, to write to the database file.
This counter isn't a good indicator for client latency because database writes are asynchronous.
In general, this latency should be less than the MSExchange Database\I/O Database Reads (Attached) Average Latency when battery-backed write caching is utilized.{avg(600)}>500MSExchange Database(*)\I/O Database Writes (Attached) Average Latencyhttp://technet.microsoft.com/en-us/library/ff367871%28v=exchg.141%29.aspxHIGHIndicates the average time, in ms, to write to the database file.
This counter isn't a good indicator for client latency because database writes are asynchronous.
In general, this latency should be less than the MSExchange Database\I/O Database Reads (Attached) Average Latency when battery-backed write caching is utilized.
- Exchange Mailbox Database I/O Database Writes (Recovery) Average Latencyperf_counter["\MSExchange Database(*)\I/O Database Writes (Recovery) Average Latency"]30FLOATmillisecIndicates the average time, in ms, to write to the database file.
In general, this latency should be less than the MSExchange Database\I/O Database Reads (Recovery) Average Latency when battery-backed write caching is utilized.MSExchange Database{avg(600)}>200MSExchange Database(*)\I/O Database Writes (Recovery) Average Latencyhttp://technet.microsoft.com/en-us/library/ff367871%28v=exchg.141%29.aspxWARNINGIndicates the average time, in ms, to write to the database file.
In general, this latency should be less than the MSExchange Database\I/O Database Reads (Recovery) Average Latency when battery-backed write caching is utilized.{avg(600)}>1000MSExchange Database(*)\I/O Database Writes (Recovery) Average Latencyhttp://technet.microsoft.com/en-us/library/ff367871%28v=exchg.141%29.aspxHIGHIndicates the average time, in ms, to write to the database file.
In general, this latency should be less than the MSExchange Database\I/O Database Reads (Recovery) Average Latency when battery-backed write caching is utilized.
- Exchange Mailbox Database I/O Log Reads Average Latencyperf_counter["\MSExchange Database(*)\I/O Log Reads Average Latency"]30FLOATmillisecIndicates the average time, in ms, to read data from a log file. Specific to log replay and database recovery operations.
The average value should be below 200 ms.
Spikes (maximum values) shouldn't be higher than 1,000 ms.MSExchange Database{avg(600)}>200MSExchange Database(*)\IO Log Read Average Latencyhttp://technet.microsoft.com/en-us/library/ff367871%28v=exchg.141%29.aspxWARNINGIndicates the average time, in ms, to read data from a log file. Specific to log replay and database recovery operations.
The average value should be below 200 ms.
Spikes (maximum values) shouldn't be higher than 1,000 ms.{avg(600)}>1000MSExchange Database(*)\IO Log Read Average Latencyhttp://technet.microsoft.com/en-us/library/ff367871%28v=exchg.141%29.aspxHIGHIndicates the average time, in ms, to read data from a log file. Specific to log replay and database recovery operations.
The average value should be below 200 ms.
Spikes (maximum values) shouldn't be higher than 1,000 ms.
- Exchange Mailbox Database I/O Log Writes Average Latencyperf_counter["\MSExchange Database(*)\I/O Log Writes Average Latency"]30FLOATmillisecIndicates the average time, in ms, to write a log buffer to the active log file.
This counter should be 10 on production servers.
If this counter is greater than 10, it's an indication that the MSExchange Database\I/O Database Writes (Attached) Average Latency is too high.MSExchange Database{avg(600)}>10MSExchange Database(*)\IO Log Writes Average Latencyhttp://technet.microsoft.com/en-us/library/ff367871%28v=exchg.141%29.aspxWARNINGIndicates the average time, in ms, to write a log buffer to the active log file.
This counter should be 10 on production servers.
If this counter is greater than 10, it's an indication that the MSExchange Database\I/O Database Writes (Attached) Average Latency is too high.
- Exchange Mailbox Database (Information Store) Database Cache % Hitperf_counter["\MSExchange Database(Information Store)\Database Cache % Hit"]30FLOAT%Shows the percentage of database file page requests fulfilled by the database cache without causing a file operation. If this percentage is too low, the database cache size may be too small.
Should be over 90% for companies with majority online mode clients. Should be over 99% for companies with majority cached mode clients.
If the hit ratio is less than these numbers, the database cache may be insufficient.MSExchange Database{avg(300)}<80MSExchange Database(Information Store)\Database Cache % Hithttp://technet.microsoft.com/en-us/library/ff367871(v=exchg.141).aspxWARNINGShows the percentage of database file page requests fulfilled by the database cache without causing a file operation. If this percentage is too low, the database cache size may be too small.
Should be over 90% for companies with majority online mode clients. Should be over 99% for companies with majority cached mode clients.
If the hit ratio is less than these numbers, the database cache may be insufficient.
- Exchange Mailbox Database (Information Store) Database Cache Size (GB)perf_counter["\MSExchange Database(Information Store)\Database Cache Size (MB)"]30FLOATGBytesShows the amount of system memory, in megabytes (MB), used by the database cache manager to hold commonly used information from the database files to prevent file operations.
Maximum value is RAM-2GB (RAM-3GB for servers with sync replication enabled). This and Database Cache Hit % are useful counters for gauging whether a server's performance problems might be resolved by adding more physical memory.
Use this counter along with store private bytes to determine if there are store memory leaks. If the database cache size seems too small for optimal performance and there is little available memory on the system (check the value of Memory/Available Bytes), adding more memory to the system may increase performance. If there is ample memory on the system and the database cache size isn't growing beyond a certain point, the database cache size may be capped at an artificially low limit. Increasing this limit may increase performance.MSExchange DatabaseMULTIPLIER0.001{last(0)}>24MSExchange Database(Information Store)\Database Cache Sizehttp://technet.microsoft.com/en-us/library/ff367871(v=exchg.141).aspxWARNINGShows the amount of system memory, in megabytes (MB), used by the database cache manager to hold commonly used information from the database files to prevent file operations.
Maximum value is RAM-2GB (RAM-3GB for servers with sync replication enabled). This and Database Cache Hit % are useful counters for gauging whether a server's performance problems might be resolved by adding more physical memory.
Use this counter along with store private bytes to determine if there are store memory leaks. If the database cache size seems too small for optimal performance and there is little available memory on the system (check the value of Memory/Available Bytes), adding more memory to the system may increase performance. If there is ample memory on the system and the database cache size isn't growing beyond a certain point, the database cache size may be capped at an artificially low limit. Increasing this limit may increase performance.
- Exchange Mailbox Database (Information Store) Database Page Fault Stalls/secperf_counter["\MSExchange Database(Information Store)\Database Page Fault Stalls/sec"]30FLOAT/secShows the rate that database file page requests require of the database cache manager to allocate a new page from the database cache.
If this value is nonzero, this indicates that the database isn't able to flush dirty pages to the database file fast enough to make pages free for new page allocations.MSExchange Database{last(0)}>0MSExchange Database(Information Store)\Database Page Fault Stalls/sechttp://technet.microsoft.com/en-us/library/ff367871%28v=exchg.141%29.aspxWARNINGShows the rate that database file page requests require of the database cache manager to allocate a new page from the database cache.
If this value is nonzero, this indicates that the database isn't able to flush dirty pages to the database file fast enough to make pages free for new page allocations.
- Exchange Mailbox Database (Information Store) Version buckets allocatedperf_counter["\MSExchange Database(Information Store)\Version buckets allocated"]30FLOATShows the total number of version buckets allocated.
Should be less than 12,000 at all times.
The maximum default version is 16,384. If version buckets reach 70% of maximum, the server is at risk of running out of the version store.MSExchange Database{avg(600)}>12000MSExchange Database(Information Store)\Version buckets allocatedhttp://technet.microsoft.com/en-us/library/ff367871(v=exchg.141).aspxWARNINGShows the total number of version buckets allocated.
Should be less than 12,000 at all times.
The maximum default version is 16,384. If version buckets reach 70% of maximum, the server is at risk of running out of the version store.
- Exchange Mailbox Database ==> Instances(*) Log Generation Checkpoint Depthperf_counter["\MSExchange Database ==> Instances(*)\Log Generation Checkpoint Depth"]30FLOATRepresents the amount of work in the log file count that needs to be redone or undone to the database files if the process fails.
Should be below 500 at all times for the Mailbox server role. A healthy server should indicate between 20 and 30 for each database instance.
If checkpoint depth increases continually for a sustained period, this indicates either a long-running transaction, (which will impact the version store), or a bottleneck involving the database disks.MSExchange Database{last(0)}>2000MSExchange Database ==> Instances(*)\Log Generation Checkpoint Depthhttp://technet.microsoft.com/en-us/library/ff367871%28v=exchg.141%29.aspxWARNINGRepresents the amount of work in the log file count that needs to be redone or undone to the database files if the process fails.
Should be below 500 at all times for the Mailbox server role. A healthy server should indicate between 20 and 30 for each database instance.
If checkpoint depth increases continually for a sustained period, this indicates either a long-running transaction, (which will impact the version store), or a bottleneck involving the database disks.
MODIFIED_FOR_EX2016-WAS:500 ... per:
https://thoughtsofanidlemind.com/2013/03/15/exchange-2013-log-truncation/
- Exchange Transport Database ==> Instances(edgetransport/Transport Mail Database) I/O Database Reads/secperf_counter["\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Database Reads/sec"]30sFLOAT/secMSExchange Database
- Exchange Transport Database ==> Instances(edgetransport/Transport Mail Database) I/O Database Writes/secperf_counter["\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Database Writes/sec"]30sFLOAT/secMSExchange Database
- Exchange Transport Database ==> Instances(edgetransport/Transport Mail Database) I/O Log Reads/secperf_counter["\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Log Reads/sec"]30sFLOAT/secMSExchange Database
- Exchange Transport Database ==> Instances(edgetransport/Transport Mail Database) I/O Log Writes/secperf_counter["\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Log Writes/sec"]30sFLOAT/secMSExchange Database
- Exchange Transport Database ==> Instances(edgetransport/Transport Mail Database) Log Generation Checkpoint Depthperf_counter["\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Log Generation Checkpoint Depth"]30sFLOATRepresents the amount of work (in count of log files) that needs to be redone or undone to the database files if the process fails.MSExchange Database
- Exchange Mailbox IS Client(*) Directory Access: LDAP Searches/secperf_counter["\MSExchangeIS Client Type(*)\Directory Access: LDAP Searches/sec"]30FLOAT/secShows the current rate that LDAP searches occur while processing requests for the client. Used to determine the current LDAP search rate per protocol.
MODIFIED_FOR_EX2016-WAS:perf_counter["\MSExchangeIS Client(*)\Directory Access: LDAP Searches/sec"]MSExchange Client
- Exchange Mailbox IS Client(*) JET Log Records/secperf_counter["\MSExchangeIS Client Type(*)\Jet Log Records/sec"]30FLOAT/secShows the rate that database log records are generated while processing requests for the client. Used to determine current load.MSExchange Client
- Exchange Mailbox IS Client(*) JET Pages Read/secperf_counter["\MSExchangeIS Client Type(*)\Jet Pages Read/sec"]30FLOAT/secShows the rate that database pages are read from disk while processing requests for the client. Used to determine current load.MSExchange Client
- ExchangeIS Client Type(*)\RPC Average Latencyperf_counter["\MSExchangeIS Client Type(*)\RPC Average Latency"]30smsMSExchange Client{avg(#3)}>200MSExchangeIS Client Type(*)\RPC Average Latencyhttps://blogs.technet.microsoft.com/samdrey/2015/01/26/exchange-2013-performance-counters-and-their-thresholds/WARNING
- Exchange Mailbox IS Client(*) RPC Operations/secperf_counter["\MSExchangeIS Client Type(*)\RPC Operations/sec"]30FLOAT/secShows what client protocol is performing an excessive amount of RPC Operations/sec. High IMAP4, POP3, or Outlook Anywhere latency can indicate problems with Client Access servers rather than Mailbox servers. This is especially true when other clients (which includes MAPI) latency is lower in comparison. In some instances, high IMAP latencies could indicate a bottleneck on the Mailbox server in addition to the latencies that the Client Access server is experiencing.MSExchange Client
- ExchangeIS Client Type\RPC Requestsperf_counter["\MSExchangeIS Client Type(*)\RPC Requests"]30sMSExchange Client{avg(#3)}>70MSExchangeIS Client Type\RPC Requestshttps://blogs.technet.microsoft.com/samdrey/2015/01/26/exchange-2013-performance-counters-and-their-thresholds/WARNING
- ExchangeIS Store(*)\RPC Average Latencyperf_counter["\MSExchangeIS Store(*)\RPC Average Latency"]30smsMSExchange Store{avg(#3)}>100MSExchangeIS Store(*)\RPC Average Latencyhttps://blogs.technet.microsoft.com/samdrey/2015/01/26/exchange-2013-performance-counters-and-their-thresholds/WARNING
- Exchange Mailbox IS RPC Operations/secperf_counter["\MSExchangeIS Store(*)\RPC Operations/sec"]30FLOAT/secIndicates the current number of RPC operations occurring per second.
Should closely correspond to historical baselines. Values much higher than expected indicate that the workload has changed, while values much lower than expected indicate a bottleneck preventing client requests from reaching the server.
MODIFIED_FOR_EX2016-WAS:perf_counter["\MSExchangeIS\RPC Operations/sec"]MSExchange Store
- Exchange Mailbox IS Mailbox(*) Search Rateperf_counter["\MSExchangeIS Store(*)\Search/sec"]30FLOATShows the number of search tasks created per second.
Should be less than 10 at all times.
MODIFIED_FOR_EX2016-WAS:perf_counter["\MSExchangeIS Mailbox(*)\Search Task Rate"]MSExchange Store{avg(600)}>10MSExchangeIS Mailbox(*)\Search Task Ratehttp://technet.microsoft.com/en-us/library/ff367871(v=exchg.141).aspxWARNINGShows the number of search tasks created per second.
Should be less than 10 at all times.
- Exchange Outlook (MapiHttp) User Countperf_counter["\MSExchange MapiHttp Emsmdb\Active User Count"]30FLOATShows the number of users connected to the information store. Used to determine current user load.
MODIFIED_FOR_EX2016-NEWMSExchange Other
- Exchange Middle-Tier Storage(*)\Items Dumpster Deletions/secperf_counter["\MSExchange Middle-Tier Storage(*)\Items Dumpster Deletions/sec"]30sFLOAT/secShows the rate at which items are deleted from the transport dumpster on this server. Determines the current rate of transport dumpster deletions.
MODIFIED_FOR_EX2016-WAS:perf_counter["\MSExchangeTransport Dumpster\Dumpster Deletes/sec"]MSExchange Other
- Exchange Middle-Tier Storage(*)\Items Moved to Dumpster/secperf_counter["\MSExchange Middle-Tier Storage(*)\Items Moved to Dumpster/sec."]30sFLOAT/secShows the rate at which items are inserted into the transport dumpster on this server. Determines the current rate of transport dumpster inserts.
MODIFIED_FOR_EX2016-WAS:perf_counter["\MSExchangeTransport Dumpster\Dumpster Inserts/sec"]MSExchange Other
- Exchange OWA User Countperf_counter["\MSExchange OWA\Current Users"]30FLOATShows the number of users connected to the information store. Used to determine current user load.
MODIFIED_FOR_EX2016-WAS:perf_counter["\MSExchangeIS\User Count"]MSExchange Other
- Exchange Mailbox Replication(*) CopyQueueLengthperf_counter["\MSExchange Replication(*)\CopyQueueLength"]30FLOATShows the number of transaction log files waiting to be copied to the passive copy log file folder. A copy isn't considered complete until it has been checked for corruption.
Should be less than 1 at all times for continuous replication.MSExchange Other{last(0)}>1MSExchange Replication(*)\CopyQueueLengthhttp://technet.microsoft.com/en-us/library/ff367871(v=exchg.141).aspxWARNINGShows the number of transaction log files waiting to be copied to the passive copy log file folder. A copy isn't considered complete until it has been checked for corruption.
Should be less than 1 at all times for continuous replication.
- Exchange Mailbox Replication(*) ReplayQueueLengthperf_counter["\MSExchange Replication(*)\ReplayQueueLength"]30FLOATShows the number of transaction log files waiting to be replayed into the passive copy.
Indicates the current replay queue length. Higher values cause longer store mount times when a handoff, failover, or activation is performed.MSExchange Other
- Exchange Mailbox Resource Booking Average Resource Booking Processing Timeperf_counter["\MSExchange Resource Booking\Average Resource Booking Processing Time"]30FLOATsecShows the average time to process an event in the Resource Booking Attendant.
Should be a low value at all times. High values may indicate a performance bottleneck.MSExchange Other
- Exchange RpcClientAccess Active User Countperf_counter["\MSExchange RpcClientAccess\Active User Count"]30FLOATShows the number of users connected to the information store. Used to determine current user load.
MODIFIED_FOR_EX2016-NEWMSExchange Rpc
- Exchange RpcClientAccess Connection Countperf_counter["\MSExchange RpcClientAccess\Connection Count"]30FLOATShows the total number of client connections maintainedMSExchange Rpc
- Exchange RpcClientAccess\RPC Averaged Latencyperf_counter["\MSExchange RpcClientAccess\RPC Averaged Latency"]30FLOATmsShows the average latency, in ms, of the most recent RPCs to the Information Store service. These RPCs are used to get content for the filter daemon for the specified database.
Should coincide with the latencies that Outlook clients are experiencing.
MODIFIED_FOR_EX2016-WAS:perf_counter["\MSExchange Search Indices(*)\Average Latency of RPCs Used to Obtain Content"]MSExchange Rpc{avg(#3)}>250MSExchange RpcClientAccess\RPC Averaged Latencyhttps://blogs.technet.microsoft.com/samdrey/2015/01/26/exchange-2013-performance-counters-and-their-thresholds/WARNINGMODIFIED_FOR_EX2016-NEW
- Exchange RpcClientAccess\RPC Requestsperf_counter["\MSExchange RpcClientAccess\RPC Requests"]30sMSExchange Rpc{avg(#3)}>40MSExchange RpcClientAccess\RPC Requestshttps://blogs.technet.microsoft.com/samdrey/2015/01/26/exchange-2013-performance-counters-and-their-thresholds/WARNING
- Exchange Search Indexes(*)\Crawler: Mailboxes Remainingperf_counter["\MSExchange Search Indexes(*)\Crawler: Mailboxes Remaining"]30FLOATThis counter is used to determine if a full crawl is occurring for any specified database.
MODIFIED_FOR_EX2016-WAS:perf_counter["\MSExchange Search Indices(*)\Full Crawl Mode Status"]
If CPU resources are high, it's possible content indexing is occurring for a database or set of databases.MSExchange Search
- ExchangeSearch Indexes(*)\Items Processed/secperf_counter["\MSExchange Search Indexes(*)\Items Processed/sec"]30FLOATShows the average, in ms, of how long it takes to index documents.
MODIFIED_FOR_EX2016-WAS:perf_counter["\MSExchange Search Indices(*)\Average Document Indexing Time"]MSExchange Search
- Exchange Mailbox Store Interface(*) ROP Requests outstandingperf_counter["\MSExchange Store Interface(*)\ROP Requests outstanding"]30FLOATShows the total number of outstanding remote operations requests. Used for determining current load.MSExchange Store
- Exchange Mailbox Store Interface(*) RPC Requests Outstandingperf_counter["\MSExchange Store Interface(*)\RPC Requests Outstanding"]30FLOATShows the total number of outstanding RPC requests. Used for determining current load.MSExchange Store
- Exchange Mailbox Store Interface(*) RPC Slow Requests latency average (msec)perf_counter["\MSExchange Store Interface(*)\RPC Slow Requests latency average (msec)"]30FLOATmillisecShows the average latency, in ms, of slow requests. Used for determining the average latencies of RPC slow requests.MSExchange Store
- Exchange Mailbox Store Interface(_Total) RPC Requests outstandingperf_counter["\MSExchange Store Interface(_Total)\RPC Requests outstanding"]30FLOATShows the current number of outstanding RPC requests.
Should be 0 at all times.MSExchange Store{avg(300)}>10MSExchange Store Interface(_Total)\RPC Requests outstandinghttp://technet.microsoft.com/en-us/library/ff367871(v=exchg.141).aspxWARNINGShows the current number of outstanding RPC requests.
Should be 0 at all times.
- Exchange Submission Successful Submissions Per Secondperf_counter["\MSExchange Submission\Successful Submissions Per Second"]30FLOAT/secDetermines current mail submission rate.
MODIFIED_FOR_EX2016-WAS:perf_counter["\MSExchange Mail Submission(*)\Successful Submissions Per Second"]MSExchange Other
- Exchange Transport Q - Mailbox Delivery Qperf_counter["\MSExchangeTransport Queues(_total)\Active Mailbox Delivery Queue Length"]30sFLOATThis monitor shows the number of messages in the active mailbox queues. The returned value should be less than 250 at all timesMSExchange Transport{last()}>250Mailbox Delivery Queuehttps://technet.microsoft.com/en-us/library/ff367923(v=exchg.141).aspxWARNINGShows the number of messages in the active mailbox queues.
Should be less than 250 at all times.
- Exchange Transport Q - Remote Delivery Qperf_counter["\MSExchangeTransport Queues(_total)\External Active Remote Delivery Queue Length"]30sFLOATMODIFIED_FOR_EX2016-WAS:perf_counter["\MSExchangeTransport Queues(_total)\Active Remote Delivery Queue Length"]MSExchange Transport
- Exchange Transport Q - Msgs Completed Delivery/secperf_counter["\MSExchangeTransport Queues(_total)\Messages Completed Delivery Per Second"]30sFLOAT/secShows the number of messages delivered per second. Determines current load. Compare values to historical baselines.MSExchange Transport
- Exchange Transport Q - Msgs Queued For Deliveryperf_counter["\MSExchangeTransport Queues(_total)\Messages Queued For Delivery"]30sFLOATMODIFIED_FOR_EX2016-WAS:perf_counter["\MSExchangeTransport Queues(_total)\Aggregate Delivery Queue Length (All Queues)"]MSExchange Transport{last()}>2000Messages in Queuehttps://technet.microsoft.com/en-us/library/ff367923(v=exchg.141).aspxWARNINGShows the number of messages queued for delivery in all queues.
Should be less than 3,000 and not more than 5,000.
- Exchange Transport Q - Msgs Queued for Delivery/secperf_counter["\MSExchangeTransport Queues(_total)\Messages Queued for Delivery Per Second"]30sFLOAT/secShows the number of messages queued for delivery per second. Determines current load. Compare values to historical baselines.MSExchange Transport
- Exchange Transport Q - Msgs Submitted/secperf_counter["\MSExchangeTransport Queues(_total)\Messages Submitted Per Second"]30sFLOAT/secMSExchange Transport
- Exchange Transport Q - Submission Qperf_counter["\MSExchangeTransport Queues(_total)\Submission Queue Length"]30sFLOATThis monitor shows the number of messages in the submission queue. The returned value should not exceed 100. If sustained high values are occurring, investigate Active Directory and Mailbox servers for bottlenecks or performance-related issues.
MODIFIED_FOR_EX2016-NEWMSExchange Transport{avg(#3)}>100ExchangeTransport Submission Queue Lengthhttps://thwack.solarwinds.com/thread/94417WARNINGThis monitor shows the number of messages in the submission queue. The returned value should not exceed 100. If sustained high values are occurring, investigate Active Directory and Mailbox servers for bottlenecks or performance-related issues.
- Exchange Transport SmtpReceive(_total) Messages Received/secperf_counter["\MSExchangeTransport SmtpReceive(_total)\Messages Received/sec"]30sFLOAT/secShows the number of messages received by the SMTP server each second. Determines current load. Compare values to historical baselines.MSExchange Transport
- Exchange Transport SmtpSend(_total) Messages Sent/secperf_counter["\MSExchangeTransport SmtpSend(_total)\Messages Sent/sec"]30sFLOAT/secShows the number of messages sent by the SMTP send connector each second. Determines current load. Compare values to historical baselines.MSExchange Transport
- Exchange Mailbox Process(MSExchangeMailboxAssistants) % Processor Timeperf_counter["\Process(MSExchangeMailboxAssistants)\% Processor Time"]30FLOAT%Shows the amount of processor time being consumed by mailbox assistants.
Should be less than 5% of overall CPU capacity.MSExchange Other{min(#3)}>15Process(MSExchangeMailboxAssistants)\%Processor Timehttp://technet.microsoft.com/en-us/library/ff367871%28v=exchg.141%29.aspxWARNINGShows the amount of processor time being consumed by mailbox assistants.
Should be less than 5% of overall CPU capacity.
- Exchange RPC/HTTP Proxy\Current Number of Unique Usersperf_counter["\RPC/HTTP Proxy\Current Number of Unique Users"]30Shows the number of unique users currently connected to a back-end server via RPC/HTTPMSExchange Rpc
Exchange Mailbox Database Information Store Performance Counters220Exchange Mailbox Database (Information Store) Cache Size Performance CountersExchange 201650015001110000030Exchange Mailbox Database (Information Store) Errors Performance CountersExchange 20165001501111000003Exchange Mailbox Database Performance Counters120Exchange Mailbox Database Instances Counters Performance CountersExchange 201690015000110000030Exchange Mailbox Database I/O Latency Performance CountersExchange 20169002000111000003Exchange Mailbox General Performance Counters230Exchange Mailbox Processes Performance CountersExchange 201650020001110000030Exchange Mailbox Replication Performance CountersExchange 201650020011110000030Exchange Mailbox Search Indices Performance CountersExchange 20165001501211000003Exchange Mailbox Information Store Client Performance Counters220Exchange RPC LatencyExchange 201690015000210000030Exchange LDAPExchange 201650015001110000030Exchange Mailbox Information Store Client JET Database Performance CountersExchange 20165001501111000003Exchange Mailbox Information Store General Performance Counters120Exchange Mailbox Information Store Mailbox Rates Performance CountersExchange 20169002000111000003Exchange Mailbox Information Store RPC Performance Counters120Exchange RPC OperationsExchange 20169001500111000003Exchange Active UsersBOLD_LINE1A7C11- Exchange 2016perf_counter["\MSExchange MapiHttp Emsmdb\Active User Count"]
1BOLD_LINEF63100- Exchange 2016perf_counter["\MSExchange OWA\Current Users"]
2BOLD_LINEFF33FF- Exchange 2016perf_counter["\MSExchange ActiveSync\Current Requests"]
3BOLD_LINE6666FF- Exchange 2016perf_counter["\MSExchange RpcClientAccess\Active User Count"]
433FF33- Exchange 2016perf_counter["\RPC/HTTP Proxy\Current Number of Unique Users"]
500DDDD- Exchange 2016perf_counter["\MSExchange RpcClientAccess\Connection Count"]
Exchange LDAP66FFFF- Exchange 2016perf_counter["\MSExchange ADAccess Domain Controllers(*)\LDAP Read Calls/sec"]
1BOLD_LINE005555- Exchange 2016perf_counter["\MSExchange ADAccess Domain Controllers(*)\LDAP Read Time"]
29999FF- Exchange 2016perf_counter["\MSExchange ADAccess Domain Controllers(*)\LDAP Search Time"]
333FF33- Exchange 2016perf_counter["\MSExchange ADAccess Processes(*)\LDAP Read Time"]
4BOLD_LINE005500- Exchange 2016perf_counter["\MSExchange ADAccess Processes(*)\LDAP Search Time"]
5DD0000- Exchange 2016perf_counter["\MSExchangeIS Client Type(*)\Directory Access: LDAP Searches/sec"]
Exchange Mailbox Assistants % Processor TimeGRADIENT_LINE1A7C11- Exchange 2016perf_counter["\Process(MSExchangeMailboxAssistants)\% Processor Time"]
Exchange Mailbox Database (Information Store) Cache Size Performance CountersFF3333- Exchange 2016perf_counter["\MSExchange Database(Information Store)\Database Cache Size (MB)"]
1BOLD_LINE33FF33RIGHT- Exchange 2016perf_counter["\MSExchange Database(Information Store)\Database Cache % Hit"]
Exchange Mailbox Database (Information Store) Errors Performance CountersFF3333- Exchange 2016perf_counter["\MSExchange Database(Information Store)\Database Page Fault Stalls/sec"]
Exchange Mailbox Database I/O Latency Performance CountersFF3333- Exchange 2016perf_counter["\MSExchange Database(*)\I/O Database Reads (Attached) Average Latency"]
100C800- Exchange 2016perf_counter["\MSExchange Database(*)\I/O Database Reads (Recovery) Average Latency"]
20000C8- Exchange 2016perf_counter["\MSExchange Database(*)\I/O Database Writes (Attached) Average Latency"]
3C800C8- Exchange 2016perf_counter["\MSExchange Database(*)\I/O Database Writes (Recovery) Average Latency"]
400C8C8- Exchange 2016perf_counter["\MSExchange Database(*)\I/O Log Reads Average Latency"]
5C8C800- Exchange 2016perf_counter["\MSExchange Database(*)\I/O Log Writes Average Latency"]
Exchange Mailbox Database Instances Counters Performance CountersBOLD_LINE3333FF- Exchange 2016perf_counter["\MSExchange Database ==> Instances(*)\Log Generation Checkpoint Depth"]
Exchange Mailbox Information Store Client JET Database Performance CountersFF3333- Exchange 2016perf_counter["\MSExchangeIS Client Type(*)\Jet Log Records/sec"]
100C800- Exchange 2016perf_counter["\MSExchangeIS Client Type(*)\Jet Pages Read/sec"]
Exchange Mailbox Information Store Mailbox Rates Performance CountersFF3333- Exchange 2016perf_counter["\MSExchangeIS Store(*)\Search/sec"]
Exchange Mailbox Processes Performance Counters100C800- Exchange 2016perf_counter["\Process(MSExchangeMailboxAssistants)\% Processor Time"]
Exchange Mailbox Replication Performance Counters100C800- Exchange 2016perf_counter["\MSExchange Replication(*)\CopyQueueLength"]
20000C8- Exchange 2016perf_counter["\MSExchange Replication(*)\ReplayQueueLength"]
Exchange Mailbox Search Indices Performance CountersFF3333- Exchange 2016perf_counter["\MSExchange Search Indexes(*)\Items Processed/sec"]
100C800- Exchange 2016perf_counter["\MSExchange RpcClientAccess\RPC Averaged Latency"]
20000C8- Exchange 2016perf_counter["\MSExchange Search Indexes(*)\Crawler: Mailboxes Remaining"]
Exchange RPC LatencyF63100- Exchange 2016perf_counter["\MSExchangeIS Client Type(*)\RPC Average Latency"]
100AA00- Exchange 2016perf_counter["\MSExchangeIS Store(*)\RPC Average Latency"]
2A54F10- Exchange 2016perf_counter["\MSExchange Store Interface(*)\RPC Requests Outstanding"]
3FC6EA3- Exchange 2016perf_counter["\MSExchange Store Interface(*)\RPC Slow Requests latency average (msec)"]
43333FF- Exchange 2016perf_counter["\MSExchange Store Interface(_Total)\RPC Requests outstanding"]
5AC8C14- Exchange 2016perf_counter["\MSExchange RpcClientAccess\RPC Averaged Latency"]
Exchange RPC OperationsF63100- Exchange 2016perf_counter["\MSExchangeIS Client Type(*)\RPC Requests"]
12774A4- Exchange 2016perf_counter["\MSExchangeIS Client Type(*)\RPC Operations/sec"]
200CC00- Exchange 2016perf_counter["\MSExchangeIS Store(*)\RPC Operations/sec"]
3CC00CC- Exchange 2016perf_counter["\MSExchange RpcClientAccess\RPC Requests"]
Exchange Transport Messages/secGRADIENT_LINEFF33FF- Exchange 2016perf_counter["\MSExchangeTransport SmtpReceive(_total)\Messages Received/sec"]
1GRADIENT_LINE33FFFF- Exchange 2016perf_counter["\MSExchangeTransport SmtpSend(_total)\Messages Sent/sec"]
Exchange Transport MonitoringFFFF33- Exchange 2016perf_counter["\MSExchangeTransport Queues(_total)\Submission Queue Length"]
11A7C11- Exchange 2016perf_counter["\MSExchangeTransport Queues(_total)\Active Mailbox Delivery Queue Length"]
23333FF- Exchange 2016perf_counter["\MSExchangeTransport Queues(_total)\External Active Remote Delivery Queue Length"]
3EE0000- Exchange 2016perf_counter["\MSExchangeTransport Queues(_total)\Messages Queued For Delivery"]
4CC00CCRIGHT- Exchange 2016perf_counter["\MSExchangeTransport Queues(_total)\Messages Submitted Per Second"]
5BOLD_LINE999999RIGHT- Exchange 2016perf_counter["\MSExchangeTransport Queues(_total)\Messages Queued for Delivery Per Second"]
600DDDDRIGHT- Exchange 2016perf_counter["\MSExchangeTransport Queues(_total)\Messages Completed Delivery Per Second"]