TFS Team Project Limits, after SP1 and otherwise

Having read Bill Essary's excellent article on how TFS scales in terms of numbers of team projects, I'm curious about two variants on what was discussed there and am hoping that someone from Microsoft might be able to provide some additional insight:

1. How does application of SP1 to both TFS and clients affect his recommendations For example, do any of the "performance and scale improvements" address this area

2. Can Team Project permissions affect how much project metadata is cached by TF clients For example, if I remove "[SERVER]\Team Foundation Valid Users" in the security settings for all team projects on a server (say over 80 total), keep them entitled only to the less than 10 or so associated with each project, and wind up with each user seeing no more than 3-4 team projects, does it help diminish the size of team project metadata cached on those clients In other words, is the TF client pulling down project metadata for projects it has no security access to see

Thanks for any guidance you can give here--we're looking to use what we've got as efficiently as possible.




Answer this question

TFS Team Project Limits, after SP1 and otherwise

  • Fingerlickin

    I should have added an important third:

    3. Do deleted team projects still contribute toward the overall size of project metadata that TF clients maintain (i.e., if I delete team projects, will the amount of project metadata on clients be reduced )



  • Banhnam

    Great questions. Here are some answers:

    1. SP1 does not significantly change the equation for Team Project limits. Improved metadata cache handling is something that we are hoping to get into the release after SP1 (Orcas), so you will have to wait a bit for the Team Project limit equation to change.

    2. No, permissions do not really impact how much data lands in the metadata cache. Said another way, yes, the client is pulling down metadata for all Team Projects. Keep in mind that the "leaked" data is not Team Project data, it is the name of the Team Project along with the list of valid users for the server and the Work Item Type definitions for all Team Projects. The presence of a Team Project on a TFS system is not a secret that is kept from users with the most basic rights (GENERIC_READ). The ListAllProjects web method will give any valid user that information as will a look at the SharePoint and SSRS sites. That said, we are looking at changes for the product in a future version (beyond Orcas) to fully encapsulate Team Project data that happens to be located on the same physical server. That will allow us to support migration of Team Project data among servers, single Team Project backup/restore and a number of other important scenarios.

    3. Generally speaking, Team Projects that are deleted still count against the Team Project limits. It is possible to recover some of the "used" metadata cache space by deleting Team Projects, but it does not happen automatically and you do not get back 100% of what you put in. Clients with existing metadata caches will see no decrease in metadata size after a Team Project is deleted. If you force clients to pull down a fresh metadata cache (see TFS restore instructions, StampWorkItemCache web method), the Work Item Tracking code on the TFS AT will filter out Tree (Area Path, Iteration Path) and Constants (picklists, user lists, etc.) metadata for deleted Team Projects. You might see something like 60% of the metadata filtered out for deleted Team Projects.


  • jimoctezuma

    Clarificiation: The example that I gave in the response to 2 with the ListAllProjects method is not quite right. Access to the web method is governed by GENERIC_READ permissions like most of the web methods in TFS, but the result set that is returned actually is filtered based upon the "view project-level information" permission.
  • TFS Team Project Limits, after SP1 and otherwise