Planning for Growth

Capacity planning is an ongoing process. It requires continually monitoring the use of the servers to ensure that there are sufficient resources for an optimal user experience. Over time, most deployments experience a significant growth in both the number of users and the amount of content stored in the solution.

SharePoint Portal Server 2003 can use multiprocessor servers and multiserver farms. Administrators can easily enlarge deployments to address changing requirements by adding hardware resources in any of the following categories:

  • Processors, random access memory (RAM), and storage capacity of existing servers
  • Web servers
  • Computers running SQL Server
  • Search servers
  • Index management servers

Monitoring the system allows you to find possible system bottlenecks. After remedying a bottleneck, continue monitoring the process to find the next bottleneck.

CPU Consumption

The most important hardware resource for handling increased load in SharePoint Portal Server 2003 is CPU capacity.

Adding a New Front-End Server

Since the throughput of most portal site operations is constrained by the total CPU capacity available on the front-end server, organizations can benefit by adding extra front-end CPU capacity to the solution. The following figure illustrates this point. The throughput results are compared with the total CPU capacity of the front-end Web servers for each of the portal site topologies. All topologies used the same SQL back-end server hardware. The throughput capacity of SharePoint Portal Server 2003 shows a linear increase as CPU capacity is added.

Throughput capacity chart

Adding a New Back-End SQL Server

Adding front-end capacity improves the throughput until the back-end SQL server becomes the limiting factor, as shown in the following figure.

Throughput per front end users

As you see, the performance gains of adding front-end Web servers decrease after the addition of the fourth server. The optimal ratio between front-end CPUs and back-end (SQL) CPUs is approximately 4:1.


If you plan to add more front-end servers, also add back-end SQL servers in the same optimal 4:1 proportion.

Adding a New Indexer

Organizations can decrease the time is takes to crawl for incremental updates and deliver alerts by adding a new indexer to the solution.

Adding Content

Adding a large number of items to a document library has performance implications on the content rendering of the document library.

Adding a large number of documents into a single document library can also result in a degraded performance on the indexer that indexes the content, since any modification to an item in a document library causes re-indexing of that document library.

Adding a Site

The actual number of sites does not affect the performance of the portal site significantly. You can expect approximately a 5 percent decrease in the common operations throughput for every 50,000 sites. Performance of the Site Directory page on the portal site is affected since the page showing the directory information must enumerate through the Site Directory to render its content.

Adding a Portal Site

The requirements of a full portal site are larger than those of a site because a number of operations (such as indexing, profile imports, etc.) are performed on a portal site that are not performed on a site. Therefore, adding more portal sites increases the CPU and memory requirements for the solution.

The PCA throughput goes down by approximately 10 percent on a solution with 50 portal sites running on the same farm.

Disk Consumption

A typical SharePoint Portal Server 2003 solution grows either by adding new documents or indexes to the existing portal site, or by adding new sites or portal sites to the solutions.

Adding a New User Profile

Adding a user profile consumes approximately 7 KB on the database.

Adding Content

Adding content increases the disk space usage on the system. The increase consists of not only the actual added data, but also the size of the indexes with the new content.


To improve performance, run appropriate administrative tasks on both the SQL server databases and the file system to reduce fragmentation. Also, after importing large amounts of data, re-index the site database tables. For more information, see the Microsoft Solution Accelerator for Intranets

Adding a New Content Database

By default, each content database holds 15,000 sites.


Limit the number of SharePoint sites to 50,000 per content database.

Adding New Sites

Adding new sites has minimal impact on disk consumption. It is the actual content in the created sites that affects disk consumption.

Adding a Portal Site

Adding more portal sites to the solution increases the disk space requirements, since the portal site contains search indexes. If the server farm is not part of a shared services environment, the server farm supports up to 15 portal sites. If the server farm provides or uses shared services, the server farm supports up to 100 portal sites.

Internet Information Services (IIS) limits the number of Web sites running on one server to 64. For information about how to increase this number, see the Microsoft Office SharePoint Portal Server 2003 Administrator's Guide.

Network Consumption

On a 100-MB network, the SharePoint Portal Server 2003 Web front-end machines usually consume just a small fraction of the total network capacity.

Peak network consumption in the traffic between servers in a server farm occurs when the indexed content is propagated to the search server while indexing and page serving is occurring. The maximum network utilization encountered in the test labs during peak throughput performance runs was approximately 30 percent. Therefore, deploying a farm on a 100-MB-per-second network should ensure that network contention is not an issue.


Use at least a 100-MB network between servers in a server farm. Equip the Web servers in a farm with two network cards —one for user requests and one for SQL Server and search network traffic.

Memory Consumption

Another key resource in a SharePoint Portal Server 2003 installation is memory. If the solution has insufficient memory available, its performance deteriorates. The different portal operations have different memory needs.

Adding an Alert

Adding a search alert consumes approximately 2 KB of memory in the search process for each search alert, whereas the other alerts consume approximately 0.5 KB of memory. These numbers must be multiplied by the number of indexes on the server to determine the total memory consumption.

Adding Content or Sites

Adding content, new sites, or new portal sites not only consumes more disk space on the solution, but it also increases memory usage due to indexing, etc.

Uploading large files consumes memory on the server since the entire file is loaded into memory before it is stored into the SQL Server database.

Adding a Portal Site

The memory consumption of 50 portal sites is typically 2 GB; it grows to 4 GB for 100 portal sites.

Using Shared Services

Most of the cost of shared services is memory consumed by multiple portal sites.

Table of Boundaries

It is important to understand the ramifications of the different features and functions of the SharePoint Portal Server solutions to size the system so that the performance of the system is good. The following table lists some of the SharePoint Portal Server objects and describes their recommended use.

"Typical" indicates comfortable and well tested; "maximum" indicates that the system can support that number, but not without some performance ramifications or special configurations. An asterisk (*) indicates a hard limit; no asterisk indicates a tested or supported limit.

Object Typical Maximum
Portal sites (full) 2 15 *
Portal sites (child) 10 100 *
Areas 1,000 10,000
Best Bets 1,000 25,000
Area depth 5 20 *
User profiles 50,000 1,000,000
Audiences 500 10,000
Audience memberships 500,000 5,000,000
SSO credentials 10,000 100,000
Search indexes 3 32
Content sources 25 250
Search scopes 25 250 *
Indexed documents per content index 100,000 5,000,000
Indexed documents 2,500,000 20,000,000
Thesaurus entries 1,000 10,000
Alerts 50,000 1,000,000
Team sites 10,000 250,000
Personal sites 10,000 250,000