I'm not that familiar with Visual Studio or Team Foundation Server, but I have a development team that are complaining of very slow check ins (several minutes) in Visual Studio 2010.
Examination of server and database do not reveal any problems The issue only happens in one particular solution. The issue can occur even for very small text files. The issue effects all users in the team.
Where should I start troubleshooting?
edit Extra Information
The size of the project is ~11.5GB, made up of 284,455 files and 52,186 folders. These are accessed by ~10 users. I think that, in terms of size, it is the largest project we have.
I'm not exactly certain when the problem first manifested.
I have tired to reproduce the issue on my machine without success. So it looks like something to do with the local setup. I've installed the plugins and extensions that the dev team is using.
The same developers don't have a problem with other projects.
For anyone experiencing large lag times when doing anything requiring TFS interaction (check out, check in, add new, rename, move, anything), there are probably many areas within TFS that could be causing the problem. In my case, even the simplest TFS interaction within Visual Studio involved a 5-10 second wait. I decided to investigate it using Process Monitor, and discovered that every time TFS did anything, it would iterate over every single file in my TFS workspace, regardless of what projects were open, or whether Source Control Explorer or Team Explorer was open. At the time, like @reticentKoala, I had 100,000+ files totalling over 17GB in my workspace.
This is definitely a bug in the TFS client code (I'm running VS2013 and our IT people upgraded to whatever its associated TFS version is), but thankfully it reveals some workarounds.
In my case, I do work on numerous projects, but generally only one or two at a time. By creating an 'Archive' folder in my normal work folder, and moving any projects I'm not actively working on into it, I was able to get TFS interacting at reasonable speeds again.
If you are actively involved in a much larger project that you can't move pieces of around willy-nilly like that, I can only speculate on possible solutions, but the basic idea would be to just reduce either the number of files in your active workspace, or their presence on your local machine.