For a while now I’ve been alluding to the fact that we’d be updating our guidance on the size of teams that Team Foundation Server will support. While we still have some work left to do to pin down the spectrum of team sizes that different classes of servers will support I’m happy to announce some exciting news. We’re officially changing the guidance from “Teams of up to 500 users” to “Teams of up to 2000 users“! I’m really thrilled to be able to announce this and proud of the work we have done that has made it possible. This is going to significantly increase the breadth of customers who can adopt Team Foundation Server as an enterprise wide development platform.
Now ,no scale number is meaningful without the details of the hardware configuration. The test configuration that we used included:
2 server install (separate application and data tiers)
- Application tier: 2P 2.8Ghz 4GB
- Data tier: 4P 2.7Ghz 16GB
- Disk system: Direct attach storage, 14 – 15Krpm RAID 0 spindles
In truth, we could support even larger teams with bigger hardware. We are currently testing with a Unisys 8-way box and a XIOTech SAN to see how far we can push it but as that is getting to be a pretty expensive hardware configuration ($200K or so) we’re not going to claim our scalability numbers based on that. I may report them as a matter of interest but when we “publish” our team size stats I believe they will be based on a more moderately priced 4-way configuration like the one above. We may eventually produce 4P/SAN numbers but as the 4P server is mostly CPU limited I don’t think that will make a significant difference (although I’d recommend any large scale production installation go that way for the reliability that it can bring).
Some additional scaling could be obtained by deploying proxy servers to offload file downloads from the main server (even when the proxies are on the same LAN). We are also going to experiment with moving WSS and the data warehouse to separate databases/servers to see what impact that will have – although those are not supported V1 configurations.
The other thing that matters for any reasonable database benchmark is the size of the dataset used in the simulation, so here’s what we used (just giving the stats for the two primary resources).
Data set size
- Work items: 750,000
- Files: 1,350,000
These resuts were created by following the benchmarking methodology documented in my earlier blog posts.
At this point we are about done with server performance tuning for this version so I’m not expecting these numbers to change significantly – although we’ll probably see a few percent improvement yet. For those that notice the result I listed is a suspiciously nice round number – the actual result achieved was 2230 users but I want stick with a nice round number with some margin for error.
Based on these results, we are now moving forward with developing plans to roll out TFS as the standard for our entire division. What do they say? Be careful what you wish for – you might get it? 🙂 It is with great pride (and some breath holding) that that we embark on deploying a single server supporting thousands of people in a day to day mission critical role. I’m confident it’s going to work out well but I’m sure all my collegues will have great feedback on how we can make the next version even better. I’ll keep you guys posted as we make progress on this.