Welcome to MSDN Blogs Sign in | Join | Help

September '08 DevDiv TFS Dogfood Statistics

Well, I let it happen again :(.  It's been over two months since my last report on this and my blog has gone sadly quiet in general.  As I'd mentioned before, it's been an unbelievably busy summer but I think I'm finally coming out of it.  With luck you'll see quite a few posts this week and then my stream of 3 or 4 a week resume.

It has also been a very busy period for dogfooding.  Pretty much the entire division is on TFS now and it's been an exciting time.  One of the things that we've learned over the past several months is that having almost 3,000 people with almost 400,000,000 files in hundreds of branches and dozens of muli-hundred thousand file merges each day puts an inordinate strain on TFS.  For the past couple of months we have been working on a fairly significant rework of the way TFS handles renames, deletes and the subsequent merging of those actions.  These changes will ship in our Rosario release.  Most people will not notice any differences but if you are deep into configuration management, you will.  In a few months, I'll explain exactly what those changes are and how you will identify them.  We believe, however, that these changes will make a significant performance and experience difference for customers with the largest and most complex configuration management challenges.

In addition to that, we have embarked upon several features that have become bit issues internally, including:

  • Public workspaces - The ability to mark a workspace as "public" so that multiple people can use it.  This has proved to be very important for build lab scenarios where many people need to investigate issues on the same machine and don't want to share login credentials.
  • Large checkin support - TFS has memory issues on the client and the server and performance issues on the client when trying to check in more than a few hundred thousand files.  We are adding support for paging of pending changes and making the client UI lists "virtual" so not all data has to be loaded.  A recent test succeeded in checking in over 1,032,000 changed files in a single checkin operation with reasonable load on both the client and server.
  • tfpt unshelve /undo - We use shelvesets a great deal for code reviews here.  People complain that after they have unshelved changes and reviewed them, there is no good way to remove the changes from their local workspace (they may have their own commingled changes they want to keep).  tfpt unshelve /undo will show up in the next Power Tools release and will do what it sounds like.  It will undo the pending changes from your local workspace that are associated with a specified shelveset.
  • Larger shelveset comment - Some time ago the checkin comment was expanded from 2K to "unlimited" but the shelveset comment was not.  This difference has angered quite a few people when they lost long comments due to shelving truncation.  Shelveset comments will also now be "unlimited".

 

There's more in the hopper but that's what we have tackled for now.

As has been the pattern all summer, usage continues to be up a great deal.  In fact, every single metric is up except downloads.  The only reason they are down is due to progress in pushing more and more usage of the internal TFS Proxies that we have set up.  Perhaps the thing that stands out to me the most is the 4.27 billion rows in the local version table.  By anyone's math that is a lot of rows and is a testament to what SQLServer can do.  That's more rows than there are values in an unsigned 32-bit number.  Yikes!

image

image

image

Users

  • Recent users: 2,797 (up 839)
  • Users with assigned work items: 4,481 (up 755)
  • Version control users: 4,967 (up 1,147)

Work Items

  • Work Items: 490,997 (up 78,066)
  • Areas & Iterations: 11,225 (up 1,141)
  • Work item versions: 4,156,617 (up 700,913)
  • Attached files: 287,913 (up 43,787)
  • Queries: 32,680 (up 7,027)

Version control

  • Files/Folders: 373,328,986/87,685,704 (up 103,546,739/up 23,450,091)
  • Total compressed file size: 3,157 GB (up 939 GB)
  • Checkins: 562,160 (up 126,227)
  • Shelvesets: 57,818 (up 26,401)
  • Merge history: 899,184,104 (up 247,380,907)
  • Pending changes: 35,857,477 (up 11,638,442)
  • Workspaces: 15,208 (up 6,287)
  • Local copies: 4,274,117,685 (was 2,214,366,807)

Builds

  • Builds: 7,971 (up 1,816)

Commands (last 7 days)

  • Work Item queries: 754,269 (up 295,736)
  • Work Item updates: 50,943 (up 12,515)
  • Work Item opens: 222,377 (up 9,334)
  • Gets: 437,760 (up 115,445)
  • Downloads: 33,880,857 (down 63,177,174)
  • Checkins: 7,919 (up 1,187)
  • Uploads: 228,880 (up 118,178)
  • Shelves: 5,277 (up 2,173)

Brian

Published Monday, September 15, 2008 10:41 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

# September ‘08 DevDiv TFS Dogfood Statistics : EasyCoded

# re: September '08 DevDiv TFS Dogfood Statistics

Monday, September 15, 2008 3:34 PM by Matt Newman

Those are some impressive statistics!

I do have a question though, how many TFS Servers are included in these stats? I'm curious to see how much proxies reduce load on a TFS server.

# re: September '08 DevDiv TFS Dogfood Statistics

Monday, September 15, 2008 3:40 PM by Ed Blankenship

Brian - Can you do a blog post sometime to discuss some of the complex configuration management scenarios that you face at Microsoft?  Might be good to include in your 400-level talk at PDC too!

I know I would be interested in hearing more about Microsoft CM challenges and solutions.

Thanks!

# re: September '08 DevDiv TFS Dogfood Statistics

Monday, September 15, 2008 3:59 PM by bharry

It is one TFS server configured as a single application tier and an active-active SQLServer cluster with TFS on one node and analysis services on the other.

There are 4 or 5 proxies configured but the main one is a NLB clustered proxy with 2 servers.  I don't know how much load it serves but last I checked it was in the > 100,000,000 requests per week.

Brian

# re: September '08 DevDiv TFS Dogfood Statistics

Monday, September 15, 2008 4:00 PM by bharry

Sure Ed, I'll see what I can do about that.

Brian

# re: September '08 DevDiv TFS Dogfood Statistics

Monday, September 15, 2008 4:30 PM by Mike

Any news on sharing the tool you use to generate these stats?  It would be fun to run it against our instance to compare the size vs. MS.  

# re: September '08 DevDiv TFS Dogfood Statistics

Monday, September 15, 2008 6:46 PM by Matthew Newman

That is really interesting, I should try to convince my superiors to set up some proxies. We are significantly smaller from what I have deduced running on a single box but do have some performance issues. It would probably help if they split up the load a little bit.

# re: September '08 DevDiv TFS Dogfood Statistics

Tuesday, September 16, 2008 1:17 AM by Klaus Even Enevoldsen

Hi Brian,

How is Rosario coming along? I am looking forward to the next release (VPC). And when is it time for a farm update again?

# re: September '08 DevDiv TFS Dogfood Statistics

Tuesday, September 16, 2008 10:21 AM by bharry

It's coming along well but sometimes it seems slowly.  We don't have a new CTP at this time.  We had planned to do a broad one this fall but there are discussions around changing plans so I can't say for sure what will happen.  What I do know is that we are going to be talking about it a lot more fairly soon.  We're going to be doing a bunch of demos of recent work at the PDC and will be having new hands-on labs.

I expect that every "event" from here on will see an increasing Rosario presence.

As for the farm...  I've been thinking that it's getting to be time to give an update.  I'll slip something in in the next month.

Thanks,

Brian

# VSTS Links - 09/17/2008

Wednesday, September 17, 2008 9:17 AM by Team System News

Erik France on VSTS with Scrum Brian Harry on September '08 DevDiv TFS Dogfood Statistics Grant Holliday...

# re: September '08 DevDiv TFS Dogfood Statistics

Wednesday, September 17, 2008 9:41 AM by bharry

Matthew,

Whether or not setting up proxies will help depends a lot on the nature of the load you are seeing.  Overall downloads are very cheap and the server can do a ton of them.  Where it starts to become critical is when the rate of downloads becomes so high that the ASP.NET request queue fills up and the server starts rejecting quests.  This happens somewhere north of 100 simultaneous requests.

I'd recommend using the TFSServerManager tool in the TFS Power Tools and looking on the statistics tab to understand where all of the load is coming from.

Brian

# re: September '08 DevDiv TFS Dogfood Statistics

Wednesday, September 17, 2008 9:56 AM by bharry

Mike, I published the tool for producing these statistics back in the December '07 Power Tools release and it has been in each release since then (although I don't think I've done any updates).

It's called TFSServerManager.exe.  Download the latest Power Tools release and check it out.

Brian

# re: September '08 DevDiv TFS Dogfood Statistics

Monday, September 22, 2008 6:30 AM by Tufan Erdinc

Hey Brian,

Can you please briefly comment on the h/w config of TFS servers? What machine config  does at and dt located? (cpu, ram, 32 vs 64-bit etc.). Also have you guys started using Windows Srv 2008 w/ SQL Srv 2008, or are they still on WS03 w/ SQL05?

Thanks

Tufan

# re: September '08 DevDiv TFS Dogfood Statistics

Wednesday, September 24, 2008 12:25 PM by bharry

The application tier is a 4P dual core with 16GB of RAM and the data tier is an active-active cluster of 4P qual core with 64GB of RAM and SQL engine active on one and Analysis services active on the other.

Brian

# re: September '08 DevDiv TFS Dogfood Statistics

Wednesday, September 24, 2008 12:27 PM by bharry

Oh, I should have read the question again :)  The mid tier is 32-but and the clustered data tiers are 64-bit.  The mid tier is Windows 2003 and the data tier is Windows 2008 & SQL 2005.  We plan to move to SQL 2008 in the near future.

We are struggling with putting together a reasonable pre-production system for for validating changes (like upgrading to SQL 2K8).

Brian

# Hur används Visual Studio Team System internt på Microsoft?

Tuesday, September 30, 2008 10:31 AM by Robert Folkesson

När jag gästade Dags ALM-Live föreläsning i Malmö i torsdags fick vi frågan hur pass spridd användningen

Leave a Comment

(required) 
required 
(required) 
 
Page view tracker