Additional performance and capacity planning factors (Windows SharePoint Services)
Applies To: Windows SharePoint Services 3.0
Topic Last Modified: 2009-04-15
This section describes additional factors which you should consider when planning for capacity and performance.
Developing custom code
Network configuration is critical to the performance of your Windows SharePoint Services installation. Common network components which can affect your performance include:
Network Interface Card (NIC)
NIC settings: Where possible, you should always use Gigabit network cards. If you have self-switching cards (100 MB / 1 GB), you should always set the over-ride to use 1 Gigabit.
Inbound/Outbound: For scenarios where you expect high traffic, we recommend you have separate NICs to handle inbound and outbound traffic.
Switches: If you run your network through a switch, ensure that you are using a GB switch and that you have the same number of inbound/outbound channels.
Routers: Ensure your routers are configured on a GB infrastructure.
Domain controllers: It is possible for authentication to become a performance bottleneck in your SharePoint environment if the domain controller (DC) receives requests more quickly than it can respond. For environments using user authentication such as NTLM, we recommend a ratio of 3 WFEs per DC. If your tests indicate that the authentication load at 3 WFEs per DC is acceptable, you can add one more WFE per DC for a supported limit of 4 WFEs per DC.
Keep in mind that network configuration should be planned and tested thoroughly prior to moving a system to a production environment.
See Plan for secure communication within a server farm (Windows SharePoint Services) for more information on network security.
The authentication mechanism used in your environment has an incremental effect on the overall performance of the system. Factors which contribute to authentication performance include:
The number and speed of round trips to the authentication provider
Authentication provider processing performance
Microsoft tests indicate that the order of authentication mechanisms, from fastest to slowest, are as follows:
If you choose to write an authentication provider to use with Office SharePoint Server or Windows SharePoint Services, you should follow the best practices guidelines in the MSDN article Authentication in ASP.NET: .NET Security Guidance (http://go.microsoft.com/fwlink/?LinkId=98743).
Developing custom code
The most common cause of poor performance in earlier releases of SharePoint Server is the development and deployment of inefficient custom features on top of the SharePoint platform. When developing customer features for SharePoint, there are a number of performance metrics you should monitor. These include, but are not limited to:
SQL Server round trips. For core pages, we recommend no more than 2-3 SQL round trips. Excessive round trips have the following deleterious effect on performance:
Increased end user response time due to greater server-side processing time
Reduced overall system throughput due to additional load on the SQL server.
SQL server CPU utilization. In order for your system to remain healthy, it is important that CPU utilization on the SQL server(s) remains relatively low. If SQL server CPU usage averages more than 60%, performance will be adversely affected. Steps you can take to reduce SQL CPU utilization include:
Implement a caching strategy – this reduces the overall number of calls from the WFE(s) to SQL Server.
Optimize custom code to use object methods which return your desired data in the most efficient manner (e.g. introduce indexes on lists, etc.)
Distribute your SQL databases across multiple physical SQL servers
Page download size. Keep code size to a minimum. A relatively small increase in page size can have a significant impact on performance if that page is accessed by a large number of people every day, especially during peak hours.
Client-side code efficiency. Approximately 50% of end user response time is comprised of client side processing of returned code. If your custom solution increases any of these, you can expect an adverse effect on end user response time.
AJAX callbacks. For AJAX parts, the number of callbacks, and the payload for each callback. For example, each KPI makes 3 calls in order to return the result. Make sure you test page performance when you introduce multiple KPIs or other custom code into a 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.