Evaluating Scaling Requirements

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

To decide whether to deploy a single server or multiple servers into the RMS clusters, determine how many users will be using the RMS deployment and how many files they will protect.

That provides average usage requirements. Plan for peak usage requirements, which will likely be about three times as much as the average requirements.

Also take into account your company’s fault-tolerance and service-availability standards.

To establish a benchmark measurement, RMS was tested using a dual-processor 2.4-GHz Pentium 4 server and 1 GB of RAM. In this configuration, a single RMS server in a root cluster delivered approximately 50 licenses per second.

You can use the following figures during capacity planning to estimate the usage requirements for an RMS system.

Transaction Occurrence Client-to-server bandwidth usage (KB) Server-to-client bandwidth usage (KB)

License request

Repeated for every user and for every piece of content

64

18

Rights account certification

RMS initialization traffic only

12

16

Client enrollment

RMS initialization traffic only

17

16

Additionally, the Active Directory query traffic can have an impact on network throughput. However, this is not typically a factor if you deploy RMS servers in close proximity to the global catalog servers. The exception would be if a failure of all global catalog servers at a site caused a failover to another site over a connection that did not support the same capacity.

Important

In a WAN environment, make sure to account for RMS network usage as it relates to available bandwidth on the WAN link.

The following table provides baseline data on the bandwidth usage of RMS transactions that you can use to assess the effect of Active Directory query traffic on your organization’s network.

Transaction RMS-to-global catalog bandwidth usage (bytes) Global catalog-to- RMS bandwidth usage (bytes)

RMS connection establishment (ldap_bind)

1600

200

RMS group-membership evaluation (ldap_search)

200

100

When using these reference tables, make sure that you are applying the numbers in the content of your deployment. For example, if the user belongs to 15 groups, 200 bytes would be required for the search request from RMS, and 1500 bytes (100 bytes x 15) would be required for the response from the global catalog.

Capacity planning should be based on the anticipated content-license request loads, because the content-license request loads represent the majority of operations that RMS performs. The input/output speed and throughput of the disk drive are not critical factors for RMS, because license requests are not data-intensive and can rely completely on cached information.

CPU usage is the most important variable when determining server throughput, so choosing the appropriate processors is essential. Memory requirements on RMS servers increase as the load that is placed on the server increases and moves beyond the maximum throughput of the server. When this occurs, Internet Information Services (IIS) queues up incoming requests in memory until the server can process them. Based on the queue limit that you configure in IIS, incoming requests stop being queued and are instead rejected when the queue reaches the specified maximum length.

The RMS memory requirements (work set) for a load pattern should completely fit within the limits of the physical memory size. Total memory size is more driven by group-expansion caching needs than anything else. At least 1 GB of RAM is recommended for each server that is running RMS.

Each RMS server is capable of handling a set number of client requests in a set amount of time (approximately 30 to 50 licenses per second). Because of this, adding servers linearly scales out the total license-issuing capacity of a cluster, and also provides increased reliability. As a result, scaling should be appropriate not only to each individual server, but also to the number of servers that you deploy. The following configuration examples show how you can use these estimates to calculate the scaling requirements for your RMS deployment.

  • Light Usage Configuration

    Some organizations have fairly low usage requirements for RMS to support. For example, an organization that has approximately 5,000 users, with 10 percent of those users regularly using RMS to protect e-mail content, might estimate that an average user would protect 3 e-mail messages per hour. Based on these requirements, RMS servers would need to deliver 1,500 licenses per hour, which equals 0.42 licenses per second. This gives you the average usage requirement; multiplying this figure by 3 provides the peak usage calculation of 1.25 licenses per second.

    Based on this calculation, usage is fairly light. Because of this, a single RMS server in a root cluster would be adequate for this organization.

  • Medium Usage Configuration

    Many organizations have fairly large user groups with moderate usage requirements. For example, an organization that has approximately 40,000 users, with 50 percent of its users regularly using RMS to protect content, might estimate that an average user would protect 7 e-mail messages and 1 document or other file per hour. Based on these requirements, RMS servers would need to deliver 160,000 licenses per hour, which equals 44.4 licenses per second. This gives you the average usage requirement; multiplying this figure by 3 provides the peak usage calculation of 133.3 licenses per second.

    Based on this calculation, the usage would be moderately high, and 3 RMS servers in the root cluster would be appropriate to meet current user needs, while 6 RMS servers in the root cluster would meet current user needs and allow room for growth.

  • Heavy Usage Configuration

    Larger organizations often have extremely large user groups with heavy usage requirements. For example, an organization that has approximately 150,000 users with 70 percent of those users regularly using RMS to protect content might estimate that an average user would protect 15 e-mail messages and 3 documents or other files per hour. Based on these requirements, RMS servers would need to deliver 1,890,000 licenses per hour, which equals 525 licenses per second. This gives you the average usage requirement; multiplying this figure by 3 provides the peak usage calculation of 1575 licenses per second.

    Based on this calculation, the usage would be very high, and 32 RMS servers in the root cluster would be appropriate for meeting current user needs, while 51 RMS servers in the root cluster would meet current user needs and allow room for growth.

When your calculations indicate 30 to 50 licenses delivered per second, you typically need to add another RMS server to either your root cluster or licensing-only cluster, depending on your topology.