Welcome to MSDN Blogs Sign in | Join | Help

TFS 2008 System Recommendations

We have just completed our testing for TFS 2008 scalability and are ready to publish the final recommendations on server sizing and hardware configurations.  If you want to compare this to the TFS 2005 recommendations, you will find them here.

Ultimately making capacity recommendations is a little like throwing darts at a board.  The problem is that no two teams are the same.  They use different processes, have different usage patterns, have different sized applications, are organized differently, etc.  When we make estimates on things like how much load an average user puts on the system, we base that largely on what we observe in our own use of our internal TFS installation.  It's not perfect and it changes over time.  If you read the details below, I'll spell out all of the assumptions we made.

Quite a few things have changed since TFS 2005.

  • Hardware has progressed and prices have changed.
  • We've made an amazing number of performance improvements to TFS.
  • We've reassessed the average amount of load that a user puts on the system.
  • We've reevaluated the data size that teams of various sizes generate.

The net result though is that our recommendations, while more conservative,  afford more users on similarly sized hardware.

The recommendations

Before I go into any gory detail, I'll spell out the configurations we tested and the results we got.

There's several things to note about this.

  1. There's fewer configs than we published in TFS 2005 - We found that the extra 2 configs really didn't add much value given the current hardware market.
  2. All of the user ratings are higher than for similar configs in TFS 2005 - as I said, we did a lot of performance work :).  And these improvements are in spite of the fact that we raised the load per user significantly.
  3. The hardware configs don't match - Unfortunately in the intervenening 2 years (almost), we've had changes in the hardware in our lab and this is what we had available.  You will note that we generally increased the memory recommendations and that's based on our experience over the past couple of years.
  4. We added a TFS proxy for the higher end configurations - Proxies offload some of the download activity from the TFS server.  The performance benefit isn't huge but many of our larger installations use them so we've added them to the mix.

How we arrived at the recommendations

For a good background on the general approach we use to determine TFS's scaling abilities, read http://blogs.msdn.com/bharry/archive/2005/10/24/how-many-users-will-your-team-foundation-server-support.aspx.  While the numbers in that post are out of date, the methodology is still accurate.

Load per user

The biggest change between TFS 2005 and TFS 2008 is that we changed the assumption for the amount of load an average user puts on TFS.  We measure this on our own DevDiv TFS server by looking at load patterns and dividing by the number of "active" users.  When we shipped TFS 2005, an average user in DevDiv used approximately 0.1 requests per second (in other words, an average of 1 request every 10 seconds during peak usage hours).  That number has gone up quite a bit in the intervening year and a half or so.  Why?  Well it's hard to know for sure but I can speculate on a few things.

  1. We've moved to a much more branch intensive development methodology.  Every feature is now developed in a separate branch and merged when it is done.  This has yielded quite a lot more activity around creating, deleting and merging branches.
  2. There are more automated tools built for TFS now.  TFS is used much more widely now and many more processes and add-on tools have been developed around it.  Automated tools often put substantially more load on the system than people do.

The end result is that we are now using 0.15 requests per second per user.  That's a 50% increase over the number that we used to compute TFS 2005 capacity.  So just to maintain the same user recommendation, TFS 2008 has to be 50% faster on the same hardware.

 

Data size

Another key change is that we've reassessed the amount of data that corresponds to various team sizes.  We've done a survey of usage by different teams to determine how big their databases are on average.  The result, in some cases, is almost a 10X increase in the size of the databases we tested with.  This also, of course, causes TFS to have to work harder to accomplish the same throughput on the same hardware.  Here are the sizes we used for TFS 2008:

These numbers are based on teams at the higher end of each range.  They are also based on the amount of data accrued over about a 2 year period.  Of course all teams are different and your numbers may be higher or lower but at least you know what assumptions we used.

An example of how these data size assumptions affect the performance of TFS.  Look at the Avg workspace size column.  This is the number of files that users typically work with on teams of that size.  When our load testing simulates a version control "get" operation, it is getting that many files.  So a get on a 3,600 person team is a 20 times larger operation than a get on a 250 person team.

 

Hardware

The last substantial change we made was to the hardware configurations.  Some of this was deliberate - for example, we decided to start officially including 8 proc data tier numbers because, with the advent of multi-core machines (particularly quad core), an 8 proc machine is no longer an outrageously expensive machine.  In fact the 8P machine we tested on was actually a quad core dual proc machine.

As I mentioned above, we also added TFS proxies to the two larger configs.  We did this because many of our larger customers use proxies and we use them internally quite a lot.  In fact, we've set up proxies even on the same LAN for our highest demand users.  For example, our build lab has its own proxy because it does approximately 75 full gets of a several million file tree every day.  It probably adds up to 3 or 4 million file downloads a day.  In our simulation, we configured half of the users to use the proxy.  This doesn't actually mean that half of their load went to the proxy because it only handles downloads.  Downloads are comparatively inexpensive and all other load goes straight to the TFS server.

Some of it was not deliberate.  The hardware availability in our lab changes and the drive arrays and machines we used last time had been used for something else.  So we picked machines that were generally close to what we tested last time.  The only thing I regret is that we didn't have higher performance drive arrays to test.  The 3,600 user configuration should have been a SAN and the 2,200 user configuration should have at least been a SCSI array instead of a SATA2.  I suspect the differences wouldn't have been huge but the higher capability I/O systems would have provided better performance and been more realistic to what someone would use in a production environment.

Conclusion

The end result is that our hardware configurations for TFS 2008 allow for more users for similar hardware than our recommendations for TFS 2005.  Our recommendations are based on a substantially more conservative estimate of how much load a user puts on the system.  I'd estimate that between the increased request load, increased data size, etc, the estimates for TFS 2008 assume about double the load per user.

TFS 2008 is more than twice as fast as TFS 2005 and can support extremely large teams.  Of course, even larger teams can deploy multiple servers and scale to any size they need.

I'm interested in your own stories about your experience with TFS 2008 performance if you have them.  Please feel free to share.

Brian

Published Thursday, October 18, 2007 8:39 AM by bharry

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# Techy News Blog » Blog Archive » TFS 2008 System Recommendations

# re: TFS 2008 System Recommendations

Thursday, October 18, 2007 11:18 AM by Carl Daniel

Nice work, Brian & Team!

One set of numbers I'd like to have seen would be numbers for a high-end single server.  It's easy to buy a single machine today with 8 cores, 32Gb of RAM and 8 or more U320 or SAS drives all in a single box.  What kind of capacity would that box deliver for TFS?

# Configurazioni consigliate per TFS 2008

Thursday, October 18, 2007 11:52 AM by Normal people bore me!

Configurazioni consigliate per TFS 2008

# re: TFS 2008 System Recommendations

Thursday, October 18, 2007 12:51 PM by bharry

We didn't test a single high end server so I can only speculate on the results.  In general, we see the AT require about half of the load the DT does.  As a result, I'd generally expect that you could take the two server configurations and reduce the user count by one third to get what a single server of similar DT capability would give you.  So, for example, the 8 way above would probably support about 2,400 users.

Again, I'm just estimating but if this is a configuration that people are really interested in, we can add it next time we do scale testing.

Brian

# Blog roll for October 18

Friday, October 19, 2007 1:01 AM by Miguel Campos Blog

# Requisiti di Sistema per TFS 2008

Friday, October 19, 2007 5:28 PM by Aldo .NET Weblog

Requisiti di Sistema per TFS 2008

# Oops - this may mean we sell fewer Team Foundation Server licenses...

Friday, October 19, 2007 5:42 PM by Brian Keller: Technical Evangelist for Team System

...but what's "bad" for Microsoft is good for customers! What am I talking about? The results are in:

# Oops - this may mean we sell fewer Team Foundation Server licenses...

Friday, October 19, 2007 6:02 PM by Noticias externas

...but what's "bad" for Microsoft is good for customers! What am I talking about? The results

# VSTS Links - 10/23/2007

Tuesday, October 23, 2007 10:31 AM by Team System News

Brian Harry on TFS 2008 System Recommendations. Martin Hinshelwood on Falling off the TFS Rehabilitation...

# System Empfehlungen für Visual Studio 2008 TeamSystem

Tuesday, October 23, 2007 1:36 PM by Christian Binder's Weblog

Das VS Team hat das Loadtesting für VS2008 beendet und die System Empfehlungen für verschiedene Team

# System Empfehlungen für Visual Studio 2008 TeamSystem

Tuesday, October 23, 2007 1:51 PM by Noticias externas

Das VS Team hat das Loadtesting für VS2008 beendet und die System Empfehlungen für verschiedene Team

# VSTS Links - 10/25/2007

Thursday, October 25, 2007 12:20 PM by Team System News

Brian Harry on TFS 2008 System Recommendations and TFS plugin compatability between TFS 2005 and TFS...

# re: TFS 2008 System Recommendations

Sunday, November 04, 2007 8:54 PM by Azan Yunus (mkay@clsolution.com.my)

Hi,

This is my 1st comment regarding the TFS,

here i need some assist during installation the TFS 2005 for my customer.During installtion there was an occur happend.

Below was the error occur during the installtion:

The System Health Check has detected a problem that will cause Setup to fail.

Description

The SQL Server 2005 KB Update is not installed on this computer

Workaround / Remedy

You must install the most recent SQL Server 2005 updates. For more information, visit the Microsoft Web site (http://go.microsoft.com/fwlink/?LinkId=62015).

More information

For additional information and help please refer to: http://go.microsoft.com/fwlink/?LinkId=62015

The System Health Check has detected a problem that will cause Setup to fail.

Description

Windows SharePoint Services 2.0 with SP2 or later is not installed

Workaround / Remedy

Windows SharePoint Services 2.0 with SP2 or later is a prerequisite for this product. You must first install the latest Windows SharePoint Services 2.0 service pack before you install this product. Other versions of Windows SharePoint Services are not compatible with Team Foundation Server.

More information

For additional information and help please refer to: http://go.microsoft.com/fwlink/?LinkId=52502

The System Health Check has detected a problem that will cause Setup to fail.

Description

The installed language version of Windows SharePoint does not match the version of Team Foundation Server

Workaround / Remedy

The necessary Language Pack for Sharepoint is not installed. Install the required Language Pack and run setup again.

More information

For additional information and help please refer to: http://go.microsoft.com/fwlink/?LinkId=52502

The System Health Check has detected a problem that will cause Setup to fail.

Description

The ASP.NET 2.0 QFE is not installed on this computer

Workaround / Remedy

ASP.NET 2.0 QFE KB913393 is a prerequisite for this product. You must first install ASP.NET 2.0 QFE KB913393, which is included on the Team Foundation Server installation media, before you can install this product.

More information

For additional information and help please refer to: http://go.microsoft.com/fwlink/?LinkId=52502

# re: TFS 2008 System Recommendations

Monday, November 05, 2007 7:32 AM by bharry

At the beginning of setup we run a bunch of tests to make sure that the system TFS is being installed on meets the requirements for TFS.  These error are saying it does not and each error lists the specific action you need to take to get the system ready for TFS.

I strongly recommend that with TFS you follow the install guide extremely carefully.  There are a bunch of things that need to be configured and if they aren't all done (and sometimes in the right order) it won't work when you are done.

Brian

# TFS 2008 System Recommendations

Saturday, November 24, 2007 12:18 PM by Archi

Just came across a great post by Brian Harry about TFS 2008 System Recommendations. We have just completed...

# Visual Studio Team System 2008

Tuesday, December 04, 2007 4:03 PM by Yo sólo pasaba por aquí pero ya que estoy....

Como muchos ya sabréis hace poco Microsoft lanzó al mercado Visual Studio 2008. Si estáis

# TFS 2008 の推奨システム構成

Tuesday, May 20, 2008 12:31 AM by bharry's WebLog

TFS 2008 のスケーラビリティ テストが完了し、サーバー サイジングやハードウェア構成について最終的な推奨データを提示できる段階まで来ました。TFS 2005 の推奨構成と比較する場合は、 こちら

Leave a Comment

(required) 
required 
(required) 
 
Page view tracker