Exchange Store Process Test

The Exchange Store test discussed previously enables administrators to identify the specific mailbox databases that are experiencing processing bottlenecks. In the event of a slowdown, this test will be useful for isolating those databases that could be contributing to the slowdown. Apart from this, what would further ease the troubleshooting pains of administrators in such situations is knowing what type of database operations performed by which client protocols/types are causing these databases to slow down. Could any client protocol/type be overloading the database with RPC requests, causing it to slow down? Could any client type/protocol be generating way too many log files in the database allowing little free space for speedy processing of requests? Are the RPC requests from any client type/protocol taking too much time being processed? Are requests from any client type frequently triggering LDAP searches, thus increasing the request processing time? Were too many database operations (i.e., message creation, deletion, updations, etc.) performed by a client type/protocol too often, resulting in a slowdown? Using the Exchange Store Process test, administrators can find quick and accurate answers to all these questions. This test auto-discovers the client types/protocols communicating with the Exchange store, reports the RPC request load, operational load, and log file load that each client type/protocol imposed on the store, and measures the impact of this load on the processing time, growth, and overall performance of the store. In the process, the test leads administrators to those client types/protocols that could be affecting database performance and how.

Target of the test : A Microsoft Exchange 2013/2016 server

Agent deploying the test : An internal agent

Outputs of the test : One set of results for each client type/protocol using the Exchange store or across all client types/protocols discovered

Configurable parameters for the test
  1. Test period - How often should the test be executed
  2. Host - The host for which the test is to be configured.
  3. port – The port at which the host listens.
  4. report by summary –By default, this flag is set to true. This implies that the test will report metrics for only a Summary descriptor, which reveals the overall Exchange store health across all client types/protocols that communicate with the store. If you want the test to report metrics for each client type/protocol that uses the store, then set this flag to false.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Admin RPC requests:

Indicates the number of admin requests from this client type/protocol that are currently being processed by the information store. For the Summary descriptor, this measure will report the total number of admin requests currently being processed by the store, regardless of the client type/protocol that is making the requests.  

Number

This is a good indicator of the current admin RPC request load on the Exchange store. Compare the value of this measure across client types/protocols to know which client type is currently overloading the store.

Administrative RPC request rate:

Indicates the rate at which admin requests from this client type/protocol are processed by the store. For the Summary descriptor, this measure will report the aggregate rate at which admin requests are processed by the store, regardless of the client type/protocol that is making the requests.  

Requests/Sec

A consistent drop in this value could indicate a bottleneck in request processing.

LDAP search rate:

Indicates the rate at which LDAP searches were performed while processing requests for this client type/protocol. For the Summary descriptor, this measure will report the aggregate rate at which LDAP searches were performed by the store.

Searches/Sec

Frequent LDAP searches when processing requests can delay request processing. You can compare the value of this measure across client types/protocols to know which client type/protocol is triggering the maximum LDAP searches.

Jet log record data:

Indicates the rate at which log data is generated when processing requests for this client type/protocol. For the Summary descriptor, this measure will report the aggregate rate at which log data is generated in the store when processing requests from client types/protocols.  

KB/Sec

A consistent increase in the value of these measures could indicate a steady increase in database size owing to log file generation. Compare the value of these measures across client types/protocols to know which client type/protocol is triggering the generation of too many log files, and is eroding database space.

Jet log record rate:

Indicates the rate at which database log records are generated while processing requests for this client type/protocol. For the Summary descriptor, this measure will report the aggregate rate at which database log records are generated in the store when processing requests from client types/protocols.  

Records/Sec

Jet pages modified rate:

Indicates the rate at which database pages are modified while processing requests for this client type/protocol. For the Summary descriptor, this measure will report the aggregate rate at which database log records are modified in the store when processing requests from client types/protocols.  

Modified/Sec

These measure are good indicators of the type of workload imposed by a client on the store and how well the store handles the workload.

Jet pages pre-read rate:

Indicates the rate at which database pages are preread from disk while processing requests for this client type. For the Summary descriptor, this measure will report the aggregate rate at which database were pre-read from the store when processing requests from client types/protocols.  

Preread/Sec

Jet pages read rate:

Indicates the rate at which the database pages are read from disk while processing requests for this client type. For the Summary descriptor, this measure will report the aggregate rate at which database pages are read from the store when processing requests from client types/protocols.  

Read/Sec

Jet pages referenced rate:

Indicates the rate at which database pages are referenced while processing requests for this client.  For the Summary descriptor, this measure will report the aggregate rate at which database pages are referenced in the store when processing requests from client types/protocols.  

Referenced/sec

Jet pages remodified rate:

Indicates the rate at which the database pages are remodified while processing requests for this client. For the Summary descriptor, this measure will report the aggregate rate at which database pages are modified in the store when processing requests from client types/protocols.  

Remodified/Sec

Full-refresh rate of lazy indexes:

Indicates the number of lazy indexes being full refreshed per second when processing requests for this client type. For the Summary descriptor, this measure will report the aggregate rate at which lazy indexes are full refreshed when processing requests across all client types/protocols.   

Refresh/Sec

 

Incremental refresh rate of lazy indexes:

Indicates the number of lazy indexes being incrementally refreshed per second when processing requests for this client type. For the Summary descriptor, this measure will report the aggregate rate at which lazy indexes are incrementally refreshed when processing requests across all client types/protocols.   

Refresh/Sec

 

Lazy indexes creation rate:

Indicates the rate at which lazy indexes are created when processing requests for this client type. For the Summary descriptor, this measure will report the aggregate rate at which lazy indexes are created when processing requests across all client types/protocols.   

Created/Sec

 

Lazy indexes deletion rate:

Indicates the rate at which lazy indexes were deleted when processing requests for this client type. For the Summary descriptor, this measure will report the aggregate rate at which lazy indexes are deleted when processing requests across all client types/protocols.   

Deleted/Sec

 

Message creation rate:

Indicates the rate at which messages were created in the store when processing requests for this client type. For the Summary descriptor, this measure will report the aggregate rate at which messages are created when processing requests across all client types/protocols.   

Created/Sec

These measures are good indicators of the operational/transactional load imposed by a client on the store. Compare the value of these measures across client types to identify that client which is imposing the maximum workload on the store.

Message deletion rate:

Indicates the rate at which messages were deleted from the store when processing requests for this client type. For the Summary descriptor, this measure will report the aggregate rate at which messages are deleted when processing requests across all client types/protocols.   

Deleted/Sec

Messages opened rate:

Indicates the rate at which messages were opened in the store when processing requests for this client type. For the Summary descriptor, this measure will report the aggregate rate at which messages are opened when processing requests across all client types/protocols.   

Opened/Sec

Messages updated rate:

Indicates the rate at which messages were updated in the store when processing requests for this client type.

Updated/Sec

Property promotions rate:

Indicates the rate at which message properties were promoted when processing requests for this client type. For the Summary descriptor, this measure will report the aggregate rate at which message properties were promoted when processing requests across all client types/protocols.   

Promotions/Sec

Property promotion refers to the process of extracting values from properties of a message and writing those values to corresponding columns on the database where the document is stored. When the message property changes, the changes can be automatically written back to the database.

RPC average latency:

Indicates the amount of time spent by the store in processing RPC requests from this client type. For the Summary descriptor, this measure will report the total time spent by the store in processing requests from all client types/protocols.    

Secs

This value should be below 0.05 seconds at all times. A slowdown in RPC packet processing can adversely impact the user experience.

RPC data received rate:

Indicates the rate at which data is received from RPC clients when processing requests for this client type/ptocols. For the Summary descriptor, this measure will report the aggregate rate at which data is received from RPC clients when processing requests across all client types/protocols.   

KB/Sec

 

RPC data sent rate:

Indicates the rate at which data is sent to RPC clients. For the Summary descriptor, this measure will report the aggregate rate at which data is sent to RPC clients when processing requests across all client types/protocols.   

KB/Sec

 

RPC operations rate:

Indicates the rate at which RPC operations were processed for this client type. For the Summary descriptor, this measure will report the aggregate rate at which RPC operations were processed across all client types/protocols.   

Operations/Sec

Generally, spikes in RPC requests that do not increase RPC operations rate indicate that there are bottlenecks preventing the store from fulfilling the requests in a timely manner. It is relatively simple to identify where the bottlenecks are occurring with regards to RPC requests and RPC operations rate. If the client experiences delays, but the RPC requests are zero and the RPC operations rate is low, the performance problem is happening before Exchange processes the requests (that is, before the Microsoft Exchange Information Store service actually gets the incoming requests). All other combinations point to a problem either while Exchange processes the requests or after Exchange processes those requests.

RPC packets rate:

Indicates the rate at which RPC packets are processed by the store when processing requests for this client type. For the Summary descriptor, this measure will report the RPC packets were processed when servicing requests from  all client types/protocols. 

Packets/Sec

A consistent drop in this value could indicate a slowdown in RPC request processing.

RPC requests:

Indicates the number of MAPI RPC requests currently in progress in the store for this client type. For the Summary descriptor, this measure will report the total number of MAPI RPC requests currently in progress for all client types/protocols. 

Number

This is a good indicator of the RPC workload currently imposed on the store by a client.