Performance Considerations
When planning your Team Foundation deployment, you should consider the overall performance you need for your Team Foundation users. Understanding the size and scope of your deployment will help you decide about performance.
Optimizing Performance
In order to optimize the performance of Team Foundation, you must consider several factors; such as the size of your organization, daily tasks, current hardware, and network topology. You should also consider how many people will be responsible for maintaining your Team Foundation deployment. Each of these factors will affect your planning.
The most common considerations are discussed briefly in the following sections and are intended as general guidelines to help you through the planning process. You might have additional factors you want to consider; such as multiple language support. Write down the performance considerations unique to your organization, and use that list when planning and installing Team Foundation.
Size of Your Organization
Consider how many users you plan to support. For fewer than 100 users, a single-server Team Foundation Server deployment will probably be sufficient. For more than 100 users or for a high-demand environment, a dual-server Team Foundation Server deployment will provide better performance. Similarly, the number of users you plan to support will affect how you optimize other computers in your deployment, such as build computers and test rigs. For more information, see Planning and Preparing for Team Foundation.
Scope of Your Deployment
Consider the types of tasks the users must perform. For example, are the users required to run organized tests of software? If so, how many users will be running tests? How frequently will tests run, and how much time will pass between iterations? By asking these questions and determining the answers, you can then plan for the optimal deployment of Team Foundation components. For more information, see Client and Server Planning.
Performance and Hardware
Consider your current server and client computers. Team Foundation performance is directly linked to the CPU speed, memory, and available hard disk space of the computers on which each component is installed. Will you need to upgrade some of your users' computers? Will you need to purchase additional servers? You must answer these questions when planning for optimal performance. For more information about how to determine hardware requirements, see Visual Studio 2005 Team System Requirements.
Performance and Network Connectivity
Consider the average latency of the network and how the users will connect to Team Foundation Server. Network latency of more than 350 milliseconds can significantly decrease Team Foundation performance, or even lead to intermittent server unavailability. Is your average network latency within these limits? Will you need to optimize your routers and network traffic? If you plan to support remote users, you must also consider how these users will connect to the Team Foundation servers. Will Web access be sufficient for these users, or should you consider requiring users to make a virtual private network connection to the network before connecting to Team Foundation Server? For more information about network connectivity, see Visual Studio 2005 Team System Requirements. For more information about supporting remote users, see Planning for Remote Offices.
During various operations, Team Foundation Server connects to the appropriate services and components on the data tier, the application tier, and the client tier. The speed with which Team Foundation Server completes the transfer of large amounts of data (for example, creating new team projects, uploading large documents, or checking large files into source control) depends, in part, on the speed of the computer network. The configuration of network switches and your computers' network card (for example, whether "autosense mode" or "auto-negotiation" is turned on, or whether information is transmitted in full-duplex mode or half-duplex mode) can affect the network speed. Frequently, setting the network card to full-duplex mode and a faster speed (for example, 100Mbs) can reduce the time that is required to complete the data transfer. Confirm that the settings on the network card on each computer are correct. For more information about how to use an autodetect setting, see "The effects of using Autodetect setting on cluster network interface card" (https://support.microsoft.com/kb/174812/).
Performance and Maintenance
Consider the daily and weekly maintenance tasks you will have to perform. How many people will be maintaining the Team Foundation servers? How many people will be available to help users? How will you manage backups, and how long will they take? Some of these considerations might lead you to make different choices than if you only consider the number of users or the scope of the deployment. For example, a dual-server deployment that is optimized for rapid server performance will take more time to maintain than a single-server deployment. This could put an undue strain on a small organization with a single person responsible for all maintenance tasks. For more information about maintenance, see Planning Server Maintenance.
See Also
Concepts
Planning for Dual-Server Deployment
Planning for Single-Server Deployment
Monitoring Performance
Other Resources
Securing Team Foundation Server
Administering Team Foundation Source Control