Premier Field Engineer, Microsoft Services Customer Service and Support
Since joining Microsoft, I’ve become intimately familiar with running a TFS server for ~3,500 users in Developer Division and the performance characteristics of it.
One thing I’ve learnt is that Performance Counters rule. You might observe the server being “slow” and you might notice that it “takes a while” to do certain operations – but you need evidence to back up your claims before anybody will take you seriously. The evidence that everybody has access to, is reliable and people take seriously are the perf counters built into windows.
See my previous posts on Relogging Perfmon binary log files to SQL and Querying Perfmon data from SQL for more details on setting up performance counter logs.
If I think about the problems we’ve overcome in the last 12 months, the issues come down to these:
The tools you can use to diagnose performance issues are:
SELECT a.status, a.* FROM sys.sysprocesses a WHERE spid > 50 and spid <> @@spid and blocked = 0 and EXISTS ( SELECT * FROM sys.sysprocesses b WHERE b.blocked = a.spid)
To determine if you are having significant issue with disk latency you should use the following performance counters:
If you want to understand more about Windows server fundamentals, take a look at the Microsoft Windows Server 2003 Performance Guide. It was published in 2005, but it is a valuable resource on PerfMon, Relog, Performance troubleshooting and performance monitoring. Most of the counters and tools are still valid for Windows 2008 and beyond.
You can read it online or buy the print version from your favorite online book store.
PingBack from http://asp-net-hosting.simplynetdev.com/large-team-foundation-server-performance-characteristics/
Hey Grant, long time no see :>
Can you elaborate on the workspace mappings issue, particularly the one related to using root mappings? Because I normally do just use a single root mapping.
Based on your performance investigations do you have some recommended metrics around team project sizes, for instance in terms of how many files/folders should be in a team project before splitting it across others?
Drew Robbins on Visual Studio 2010 and .NET Framework 4 Training Kit Charles Sterling on Visual Studio