{"id":10741,"date":"2005-12-09T16:22:00","date_gmt":"2005-12-09T16:22:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/bharry\/2005\/12\/09\/tfs-scalability\/"},"modified":"2018-08-14T00:35:07","modified_gmt":"2018-08-14T00:35:07","slug":"tfs-scalability","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/bharry\/tfs-scalability\/","title":{"rendered":"TFS Scalability"},"content":{"rendered":"<p><font face=\"Arial\">For a while now I&#8217;ve been alluding to the fact that we&#8217;d be updating our guidance on the size of teams that Team Foundation Server will support.&nbsp; While we still have some&nbsp;work left to do to pin down the spectrum of team sizes that different classes of servers will support I&#8217;m happy to announce some exciting news.&nbsp; We&#8217;re officially changing the guidance from &#8220;Teams of up to 500 users&#8221; to &#8220;<strong>Teams of up to 2000 users<\/strong>&#8220;!&nbsp; I&#8217;m really thrilled to be able to announce this and proud of the work we have done that has made it possible.&nbsp; This is going to significantly increase the breadth of customers who can adopt Team Foundation Server as an enterprise wide development platform.<\/font>\n<font face=\"Arial\">Now ,no scale number is meaningful without the details of the hardware configuration.&nbsp; The test configuration that we used included:<\/font>\n<u><span><font size=\"3\">2 server install (separate application and data tiers)<\/p>\n<p><\/font><\/span><\/u><\/p>\n<ul>\n<li>\n<div class=\"MsoNormal\"><span><font size=\"3\">Application tier:&nbsp; 2P 2.8Ghz 4GB<\/p>\n<p><\/font><\/span><\/div>\n<\/li>\n<li>\n<div class=\"MsoNormal\"><span><font size=\"3\">Data tier:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4P 2.7Ghz 16GB<\/p>\n<p><\/font><\/span><\/div>\n<\/li>\n<li>\n<div class=\"MsoNormal\"><span><font size=\"3\">Disk system:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Direct attach storage, 14 &ndash; 15Krpm RAID 0 spindles<\/p>\n<p><\/font><\/span><\/div>\n<\/li>\n<\/ul>\n<p class=\"MsoNormal\"><span><\/p>\n<p><font size=\"3\">In truth, we could support &nbsp;even larger teams with bigger hardware.&nbsp; 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&#8217;re not going to claim our scalability numbers based on that.&nbsp; I may report them as a matter of interest but when we &#8220;publish&#8221; our team size stats I believe they will be based on a more moderately priced 4-way configuration like the one above.&nbsp;&nbsp;We may eventually produce 4P\/SAN numbers but as the 4P server is mostly CPU limited I don&#8217;t think that will make a significant difference (although I&#8217;d recommend any large scale production installation go that way for the reliability that it can bring).<\/font><\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><span><font size=\"3\">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).&nbsp; We are also going to experiment with moving WSS and the data warehouse to separate databases\/servers to see what impact that will have &#8211; although those are not supported V1 configurations.<\/font><\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><span><font size=\"3\">The other thing that matters for any reasonable database benchmark is the size of the dataset used in the simulation, so here&#8217;s what we used (just giving the stats for the two primary resources).<\/font><\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><u><span><font size=\"3\">Data set size<\/p>\n<p><\/font><\/span><\/u><\/p>\n<ul>\n<li>\n<div class=\"MsoNormal\"><span><font size=\"3\">Work items:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 750,000<\/p>\n<p><\/font><\/span><\/div>\n<\/li>\n<li>\n<div class=\"MsoNormal\"><span><font size=\"3\">Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1,350,000<\/font><\/span><\/div>\n<\/li>\n<\/ul>\n<p class=\"MsoNormal\"><span><\/p>\n<p><font size=\"3\">These resuts were created by following the benchmarking methodology documented in my earlier blog posts.<\/font><\/p>\n<p><\/span>\n<font face=\"Arial\">At this point we are about done with server performance tuning for this version so I&#8217;m not expecting these numbers to change significantly &#8211; although we&#8217;ll probably see a few percent improvement yet.&nbsp; For those that notice the result I listed is a suspiciously nice round number &#8211; the actual result achieved was 2230 users but I want stick with a nice round number with some margin for error.<\/font>\n<font face=\"Arial\">Based on these results, we are now moving forward with developing plans to roll out TFS as the standard for our entire division.&nbsp; What do they say?&nbsp; Be careful what you wish for &#8211; you might get it? \ud83d\ude42&nbsp; 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.&nbsp; I&#8217;m confident it&#8217;s going to work out well but I&#8217;m sure all my collegues will have great feedback on how we can make the next version even better.&nbsp; I&#8217;ll keep you guys posted as we make progress on this.<\/font><\/p>\n<p><font face=\"Arial\">Brian<\/font><\/p>\n","protected":false},"excerpt":{"rendered":"<p>For a while now I&#8217;ve been alluding to the fact that we&#8217;d be updating our guidance on the size of teams that Team Foundation Server will support.&nbsp; While we still have some&nbsp;work left to do to pin down the spectrum of team sizes that different classes of servers will support I&#8217;m happy to announce some [&hellip;]<\/p>\n","protected":false},"author":244,"featured_media":14617,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-10741","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"acf":[],"blog_post_summary":"<p>For a while now I&#8217;ve been alluding to the fact that we&#8217;d be updating our guidance on the size of teams that Team Foundation Server will support.&nbsp; While we still have some&nbsp;work left to do to pin down the spectrum of team sizes that different classes of servers will support I&#8217;m happy to announce some [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts\/10741","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/users\/244"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/comments?post=10741"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts\/10741\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/media\/14617"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/media?parent=10741"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/categories?post=10741"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/tags?post=10741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}