About performance and capacity planning
Published: May 12, 2010
This chapter is about how to determine the hardware requirements for a single Microsoft Project Server 2010 farm. It identifies the characteristics that will affect your capacity requirements and provides recommendations for the following:
Number of server computers in the server farm
Configuration of application server roles in the server farm
Hardware requirements for specific server roles in the server farm
Planning for capacity vs. availability
This chapter assumes that you have already planned for availability requirements by using the Plan for deployment (Project Server 2010) articles. As a result of using those articles, you will start the capacity planning exercise with a topology that meets your organization's minimum availability requirements. Given the topology you have selected, this chapter helps you determine the following:
Whether you have to add more servers to meet your goals for capacity and performance
Whether you have to adjust the configuration of application server roles to optimize capacity and performance of the server farm
Whether you have to plan for more than one server farm based on your capacity requirements
In some cases, an organization's requirements for availability can result in a server farm size that provides much larger capacity or performance than is otherwise required. If this is the case, capacity planning can focus on sizing the server hardware economically, instead of on adding additional server computers or scaling up with higher-performing hardware.
In many cases, the topology that meets an organization's minimum availability requirements is used as a starting point and server computers are added or scaled up to meet capacity and performance goals.
Capacity planning approach
There are many variables that affect capacity planning. For this reason, it can be difficult to receive a crisp answer to a straightforward question. Consequently, the most common answer to a capacity-related question is, "It depends …".
The capacity planning exercise provided in this chapter is designed to reduce the number of variables in consideration so that straightforward answers can be provided based on common scenarios. However, this chapter also includes the guidance for calculating your capacity and performance requirements based on your individual solution characteristics. This chapter includes two kinds of capacity planning guidance:
Recommendations for estimating capacity requirements A series of articles is provided, based on targeted scenarios. Each article defines a typical usage profile and identifies the key characteristics that will affect capacity and performance for the scenario. Based on the profile and key characteristics, predefined data lets you estimate capacity requirements for your solution.
Formulas and guidance for calculating specific capacity requirements Using this guidance, you can develop your own usage profile (or modify one of the scenario profiles) and calculate all of the variables that affect the capacity and performance of your solution.
Capacity planning process
Capacity planning focuses on three aspects of sizing your solution:
Capacity boundaries of the software Each of the features that can be implemented and the objects that can be created have scale limitations. Planning for capacity boundaries ensures that your solution design fits within the scale recommendations of the software.
Throughput targets Each kind of action that is performed by a server farm introduces a performance load on the server hardware. Primary actions include user operations, indexing of content, and operations tasks (such as backing up the databases). The use of specific features, such as Excel Calculation Services, although necessary for cube building, also adds a performance load. Developing throughput targets involves estimating or calculating the number of operations per second that a server farm must process in order to support the expected throughput load.
Data capacity Data capacity includes the expected volume of content databases and the configuration database. Each server role also has unique data requirements based on the solution, such as disk space for content indexes or for cached content.