Team Foundation Server: Application Tier Cache Settings
A great question came in this morning from a customer regarding the recommended system requirements for the Application Tier of a Team Foundation Server installation. Before I dive into the customer's question, first some background on how Team Foundation Server can be installed...
Team Foundation Server can be installed in one of many ways to meet various project requirements, team sizes, and network topologies. You can even install TFS proxy servers to facilitate distributed development scenarios. The full range of installation options and step-by-step instructions are detailed in the Visual Studio Team Foundation Server Installation Guide.
For teams of 50 or less we recommend a single-server installation. But for larger teams, Team Foundation Server supports a dual-server installation mode with the Data Tier and the Application Tier on separate servers. The Data Tier is where the SQL Server 2005 instance resides and is responsible for storing everything associated with your projects (source control history, work items, build reports, etc.). The Application Tier is mainly just responsible for brokering data between the various clients connecting to Team Foundation Server, regardless of where the requests originate (Visual Studio, Project, Excel, Teamprise, and so on).
Now back to this customer's question... They noticed that the recommended system requirements for the Application Tier go up from 20 GB of free disk space (for supporting <250 users) to 40 GB of disk space (when supporting 250-500 users). Of course it makes sense that the Data Tier would require more disk space since more users implies a larger project (or multiple projects) to data store. But why does the Application Tier need that much extra space?
As it turns out, the Application Tier has built-in algorithms to speed up the transfer of data between TFS clients and the Data Tier. This can result in significantly faster transfer times for everybody on the team and is one of the main reasons you may want a dedicated server for this task. As the size of the project and the number of clients goes up, so does the recommended disk space available for the Application Tier cache. You can even change the settings on the cache, such as to tweak the caching algorithm setting or to change the folder/drive where the cache is stored. For best results, store the cache on a fast, non-system drive. This and other helpful TFS topics are covered in the Visual Studio Team Foundation Administrator's Guide.
Thanks to Robert Horvick on the Team System team for providing all of this great information!