RPC User Activity From Performance Counters

[This topic is intended to address a specific issue called out by the Exchange Server Analyzer Tool. You should apply it only to systems that have had the Exchange Server Analyzer Tool run against them and are experiencing that specific issue. The Exchange Server Analyzer Tool, available as a free download, remotely collects configuration data from each server in the topology and automatically analyzes the data. The resulting report details important configuration issues, potential problems, and nondefault product settings. By following these recommendations, you can achieve better performance, scalability, reliability, and uptime. For more information about the tool or to download the latest versions, see "Microsoft Exchange Analyzers" at https://go.microsoft.com/fwlink/?linkid=34707.]  

Topic Last Modified: 2007-02-14

The Microsoft® Exchange Server Analyzer Tool has determined that your server is currently experiencing a high remote procedure call (RPC) load.

The RPC operations-per-second rate is an indication of how much RPC load is present on the server. Sometimes, an unexpected increase in RPC operational load can result in poor server performance. If your server is experiencing a performance problem, you should first identify if the load on the server is higher than expected. There are several performance counters that provide information about RPC activity on the server. The following performance counters that are discussed in this article are all under the MSExchangeIS, MSExchangeIS Public or MSExchangeIS Mailbox performance objects:

  • RPC Operations/sec

  • Active User Count

  • Active Client Logons (MSExchangeIS Public)

  • Active Client Logons (MSExchangeIS Mailbox)

Identifying Client RPC Load

There are two counters you can use to identify the current activity rate of the client computers.

  • RPC Operations/sec   This counter provides the number of RPC operations per second that client computers are currently requesting from the server. You can count users in the following ways:

    • You can count the total mailboxes on the server.

    • You can count the total number of logons (from the sum of Active Client Logons for MSExchangeIS Public, and Active Client Logons for MSExchangeIS Mailbox).

    • You can count the total number of logons from the Active User Count.

    The Exchange Server Analyzer uses the last method. To calculate the rate per-active-user, divide the average RPC Operations/sec by the Active User Count.

  • RPC Operations/sec per user   This counter provides an indication of how active the users are on the server. Typically, knowledge workers who use Microsoft Office Outlook® have a rate of approximately 0.1 operations per second, per user on a mailbox server. If the users on the server are running additional applications, the number may increase.

If the Exchange Server Analyzer determines that the RPC operations per second per user is greater than 0.15 but lower than 0.25, the users are considered moderately active and the Exchange Server Analyzer displays a warning.

If the Exchange Server Analyzer determines that the RPC operations per second per user is greater than 0.25, the users are considered to be unusually active and the Exchange Server Analyzer displays an error.

What to Do if the RPC Load Is High

If the operations per second are higher than expected, you should first attempt to identify the cause of high load and then reduce it. You can use the Exchange Server User Monitor (ExMon) tool to identify if a particular user is issuing a high rate of RPC operations.

If you are unable to reduce the load on the server, you must identify the performance bottlenecks and increase the capacity of the server.

Identifying a High Number of Logons

It is required that the server maintain some information about logons in memory (both in user and kernel memory). There is a limited amount of memory set aside. If this memory is used, the server can encounter a memory bottleneck. For this reason, if you encounter a performance problem on an Exchange server, you should make sure that the total number of logons per user is not excessive.

A typical knowledge worker will have two to three logons. If users are running other applications, the number of logons may increase. The Exchange Server Analyzer calculates the number of logons per user by dividing the total number of logons to the server by the number of mailboxes on the server. You can determine the total number of logons to the server by adding together the Active Client Logons performance counters on the MSExchangeIS Mailbox and MSExchangeIS Public performance objects. For mailbox or mixed mailbox and public folder servers, the Exchange Server Analyzer looks only at this ratio.

Note

If a large number of users are viewing other users' shared folders (such as shared calendars), the number of logons can also be higher.

If the average number of logons per user is more than five and the server is experiencing a memory bottleneck, this may indicate that users are running applications that are creating a large number of logons. If users are running applications that are not required for business use, request that they do not run the applications that are causing excessive logons to the Exchange server.

If you cannot reduce the number of applications that users are running, you must reduce the number of users per server by moving users to another server. To determine whether the logons are caused by many users or if a single user has a disproportionately high number of logons, you can use Exchange System Manager to view the active logons for each user.

For More Information