Plan for software boundaries (Windows SharePoint Services)

Applies To: Windows SharePoint Services 3.0

 

Topic Last Modified: 2010-08-30

In this article:

  • Test environment

  • Test results

  • Guidelines for acceptable performance

This article provides information to help you understand the tested performance and capacity limits of Windows SharePoint Services 3.0, provides information about the test environment and test results, and offers guidelines for acceptable performance. Use the information in this article to determine whether your planned deployment falls within acceptable performance and capacity limits.

The test results and guidelines provided in this article apply to a single installation of Windows SharePoint Services 3.0. Adding server computers to the installation does not increase the capacity limits of the site objects that are listed in the tables in the Guidelines for acceptable performance section. On the other hand, adding server computers does increase the throughput of a server farm, which might be necessary to achieve acceptable performance with large numbers of objects. In some cases, the requirements for high numbers of objects within a solution might require the use of more than one server farm.

In this article, the guidelines are determined by performance. In other words, you can exceed the guidelines provided, but as you increase the scale, you might experience reduced performance.

Note that there are many factors that can affect performance in a given environment, and each of these factors can affect performance in different areas. Some of the test results and recommendations in this article might be related to features or user operations that do not exist in your environment, and therefore do not apply to your solution. Only thorough testing can provide you with exact data related to your own environment.

See the section Additional performance and capacity planning factors (Windows SharePoint Services) in this guide for more information on other factors that can affect performance and capacity but were not part of the testing process for this guide.

Test environment

The following table lists the specifications of the computers in the test environment.

Role Specifications

Stand-alone computer

1 dual core Intel Xeon 2.8 gigahertz (GHz) 64-bit processor, 2 gigabytes (GB) RAM

Web server computer

2 dual core Intel Xeon 2.8 GHz 64-bit processors, 4 gigabytes (GB) RAM

Database computer running Microsoft SQL Server

4 dual core Intel Xeon 2.8 GHz 64-bit processors, 3 2GB RAM

Client computers

Pentium III 1.2 GHz processor, 1 GB RAM

A gigabit Ethernet network (one billion bits/sec) was used between the farm computers.

Testing was performed against the configurations listed in the following table.

Database server 1 Web server 2 Web servers 3 Web servers 4 Web servers 5 Web servers 6 Web servers 7 Web servers 8 Web servers

0

X

1

X

X

X

X

X

X

X

X

Environment-specific testing was also performed against several farm configurations. See the scenario articles in the Estimate performance and capacity requirements (Windows SharePoint Services) section for information about environment-specific configuration testing.

Test results

The following charts, graphs and tables show how the test environment performed given a certain set of parameters, user operations, and load conditions. These tests were all conducted on an 8x1 Windows SharePoint Services farm. Results provided apply to all Windows SharePoint Services 3.0 environments.

Note

Additional configurations will be tested in the future. Test results will be published as they become available.

Performance metrics for different operations depend on how site collections are used. For example, a single site collection can have thousands of subsites, but user response times for operations that enumerate the container begin to increase as the number of site collections increases. Other operations that do not enumerate the container will continue to perform acceptably.

The subsites created for the tests break down as shown in the following table.

Type of subsite Percent of total

Team sites

55%

Document workspace

20%

Meeting workspace

10%

Blog

10%

Wiki

5%

Throughput changes when creating a site vs. enumerating sites as the number of sites increases

User response time for certain operations increases with the number of sites in a site collection.

This graph shows the user response time when enumerating the sites in a site collection and when creating a new site as the number of existing sites increases.

Analysis graph—user response time versus # sites

Throughput vs. number of site collections in a content database

Throughput, measured in RPS, decreases as the number of site collections in a content database increases.

The following figure shows the decrease in throughput when browsing to the home page of different site collections as the number of site collections in a single content database increases. Throughput decreases quickly as the total number of site collections increases from 2000 (RPS=265) to 16,000 (RPS=66), then RPS remains approximately 50 as the total number of site collections increases to 50,000.

SharePoint planning—throughput versus # sites

Throughput differences between flat document library vs. document library with folders

Throughput for certain operations decreases as the number of items in a folder increases.

The following figure shows the difference in throughput between viewing all items in a document library with and without the effective use of folders, which is critical for scaling. As shown in the graph below, throughput performance degrades as the number of documents increases when flat library storage is used. The quickest drop in throughput occurs when the total number of documents is less than 2,000, from 151 RPS (at 200 documents) to 63 RPS (at 2,000 documents). At 4,000 documents, throughput decreases to about 13 RPS, or an overall throughput decrease of over 90% from an empty library.

Graph: RPS versus number of docs in library

The following figure shows the relative performance between folder views when folders are used to store and organize documents, and an indexed view of a flat library structure. Each folder contains 500 documents created by different users. In this scenario, there is no significant throughput degradation up to 1 million documents for either scenario, provided that the number of items in the view does not exceed the performance threshold for your system. However, performance is better when folders are used.

Graph of performance and documents in a library

As the number of items in a folder increases, folder view performance will gradually degrade. Note that the above results are estimates based on our testing, and results may vary in your environment.

Guidelines for acceptable performance

Capacity is directly affected by scalability. This section lists the objects that can compose a solution and provides guidelines for acceptable performance for each type of object. Limits data is provided, along with notes that describe the conditions under which the limits obtain and links to additional information where available. Use the guidelines in this article to review your overall solution plans.

If your solution plans exceed the recommended guidelines for one or more objects, take one or more of the following actions:

  • Evaluate the solution to ensure that compensations are made in other areas.

  • Flag these areas for testing and monitoring as you build and deploy your solution.

  • Re-design the solution to ensure that you do not exceed capacity guidelines.

The following tables list the objects by category and include recommended guidelines for acceptable performance. Acceptable performance means that the system as tested can support that number of objects, but that the number cannot be exceeded without some performance degradation. An asterisk (*) indicates a hard limit; no asterisk indicates a tested or supported limit.

The following table lists the recommended guidelines for site objects.

Site object Guidelines for acceptable performance Notes Scope of impact when performance degrades

Site collection

50,000 per content database

Total farm throughput degrades as the number of site collections increases.

Farm

Site collection

150,000 per Web application

This limit is theoretical, and is dependent largely upon:

  • Performance of the database server on which the configuration database resides.

  • Performance of the Web servers in the farm.

  • Network bandwidth between the Web servers and the database server.

This is not a hard limit, and assumes a single database server. Your environment may not be able to host this many site collections per Web application. Distributing content databases across additional database servers can increase the effective limit of the number of site collections per Web application. You should perform testing to determine the actual effective limit in your environment.

Web site

250,000 per site collection

You can create a very large total number of Web sites by nesting the subsites. For example, 100 sites, each with 1000 subsites, is 100,000 Web sites. The maximum recommended number of sites and subsites is 125 sites with 2,000 subsites each, for a total of 250,000 sites.

Site collection

Subsite

2,000 per Web site

The interface for enumerating subsites of a given Web site does not perform well as the number of subsites surpasses 2,000.

Site view

Document

5 million per library

You can create very large document libraries by nesting folders, using standard views and site hierarchy. This value may vary depending on how documents and folders are organized, and by the type and size of documents stored.

Library

Item

2,000 per view

Testing indicates a reduction in performance beyond two thousand items. Using indexing on a flat folder view can improve performance.

List view

Document file size

50MB (2GB max*)

File save performance is proportional to the size of the file. The default maximum is 50 MB. This maximum is enforced by the system, but you can change it to any value up to 2 GB.

Library, file save performance

List

2,000 per Web site

Testing indicates a reduction in list view performance beyond two thousand entries.

List view

Field type

256 per list

This is not a hard limit, but you might experience list view performance degradation as the number of field types in a list increases.

List view

Column

2,000 per document library

4,096 per list

This is not a hard limit, but you might experience library and list view performance degradation as the number of columns in a document library or list increases.

Library and list view

Web Part

50 per page

This figure is an estimate based on simple Web Parts. The complexity of the Web Parts dictates how many Web Parts can be used on a page before performance is affected.

Page

Security scope

1,000 per list

The maximum number of unique security scopes set for a list should not exceed 1,000.

A scope is the security boundary for a securable object and any of its children that do not have a separate security boundary defined. A scope contains an Access Control List (ACL), but unlike NTFS ACLs, a scope can include security principals that are specific to Windows SharePoint Services. The members of an ACL for a scope can include Windows users, user accounts other than Windows users (such as forms-based accounts), Active Directory groups, or SharePoint groups.

Farm

The following table lists the recommended guidelines for people objects.

People object Guidelines for acceptable performance Notes

Users in groups

2 million per Web site

You can add millions of people to your Web site by using Microsoft Windows security groups to manage security instead of using individual users.

User profile

5 million per farm

This number represents the number of profiles which can be imported from a directory service, such as Active Directory, into the people profile store.

Security principal

2,000 per Web site

The size of the access control list is limited to a few thousand security principals (users and groups in the Web site).

The following table lists the recommended guidelines for search objects.

Search object Guidelines for acceptable performance Notes

Search index

1 per Search server

Indexed document

10 million per search index

10 million documents per index server are supported, and one search index per index server. This means that the effective limit of documents per index server is 10 million.

The following table lists the recommended guidelines for logical architecture objects.

Logical architecture object Guidelines for acceptable performance Notes

Shared Services Provider (SSP)

3 per farm (20 per farm maximum)

 

Zone

5* per farm

The number of zones defined for a farm is hard coded to 5.

Internet Information Services (IIS) application pool

8 per Web server

Maximum number is determined by hardware capabilities.

Site collection

50,000 per Web application

Content database

100 per Web application

Site collection

50,000 per database

The following table lists the recommended guidelines for physical objects.

Physical object Guidelines for acceptable performance Notes

Index servers

1 per SSP*

 

Application servers running Excel Calculation Services

No limit

 

Search servers

No limit

Because 100 content databases are supported for each search server, the number of search servers required per farm is based on the number of content databases in the farm. For example, if there are 500 content databases in your farm, you will need at least 5 search servers.

Web server/database server ratio

8* Web servers per database server

The scale out factor is dependent upon the mix of operations.

Web server/Domain Controller ratio

3 Web servers per Domain Controller

Depending on how much authentication traffic is generated, your environment may support a greater number of Web servers per domain controller.

Throughput vs. number of Web servers

In our test environment, farm throughput reached a plateau at 5 Web servers per database server, and did not change substantially when additional Web servers were added. Although you can deploy up to 8 Web servers per database server, you may not realize substantial throughput gains after 5 Web servers. This is because as the number of Web servers making calls against a single database server increases, the database server eventually reaches 100% capacity. Results in your environment may vary according to the performance characteristics of your database server. You will need to conduct your own testing to determine the optimum number of Web servers in your farm environment.

Adding more Web servers to a farm after optimum throughput has been achieved may be desirable for other reasons—for example, if a substantial portion of Web server CPU utilization is consumed by user authentication. In such a case, you should conduct testing to determine the correct solution.

User response times

The following table provides guidelines for acceptable user response times for four types of user operations. Note that your business requirements may allow longer or shorter response times than suggested.

The testing goal was to provide sub-second response time for all end-user operations. However, this is not possible in all cases, so the guidelines in the following table were used.

Type of operation Examples Acceptable user response time

Common operation

  • Browsing to the home page

  • Browsing to a document library

<3 seconds

Uncommon operation

  • Creating a subsite Creating a list

  • Uploading a document to a document library

<5 seconds

Rare operation

  • Backing up a site

  • Creating a site collection

<7 seconds

Long-running operation

  • Indexing a site

Varies with operation and system configuration. All long running operations will have either an information or status page.

Download this book

This topic is included in the following downloadable book for easier reading and printing:

See the full list of available books at Downloadable books for Windows SharePoint Services.