Well, I'm behind a couple of blog posts already. I'll do this and get to the one on Team Project organization tonight or tomorrow.
We've been finalizing the limits that we are going to test TFS to for its release. I wanted to share them so you know how far we are pushing the system and can use that information as one of many factors to decide if TFS will work for your organization. First a few notes on methodology and scope.
This testing is primarily focused around the "capacity" of the system. Generally for each thing that TFS can store or manipulate we must ask "how many" and "how big". While the list you'll find below does not include every single datum that can be stored, it includes the majority and particularly the ones where we want to ensure the capacity is very large. Many of our other "limits" (like length of a file path, for example) are covered elsewhere in our functional testing and are not called out here.
For each item, you'll see a "requirement" and a "stretch goal". The requirement is the capacity we must achieve in order to ship. The stretch goal is the capacity to which we will actually measure. Anything over the requirement is considered good enough. Anything at the stretch goal can probably go higher but we aren't going to measure any higher.
You'll also see a "count" and a "size". It's not always obvious how to interpret these. Generally counts are "how many" - like how many files can the system have or how many work items. Size can get a bit wierd because sometimes it is also measured as a count. For example: Workspaces - count means how many workspaces can be stored on the server; size - means how big can a workspace be (measured as the number of files/folders mapped in the workspace). I don't think we've been exactly consistent in how we use them but I've tried to clarify with text. For some items we haven't included both count and size if we felt having both didn't make much sense.
Generally this only includes the counts and sizes of things and doesn't talk about operations. We will be testing operations on the counts and sizes to make sure that the system is really working with that much data in it. We have called out a few specific operations that we were particularly interested in.
Lastly all of this refers to the data that can be stored in one server. Many (especially larger) organizations will setup multiple servers. And for the disclaimer - all information is subject to change without notification :)
As always, we're interested in any feedback or comments that you have...
General
Target
Notes
Team projects
Count
Each project has 200 files.
Requirement
500 CMMI
Stretch Goal
1250 CMMI
VS Projects
Projects in a solution
50
150
Size
Files in a VS project
TBD
Process Templates
200
200MB
2GB
Users
# of users authorized to use the system
5,000
30,000
Groups
4000
10000
Areas & Iterations
10,000
100,000
Event Subscriptions
7,500
20,000
10 clauses
100 clauses
Work Item Tracking
Work Item Types
3,500
8,750
Size of the work item type XML file
800K
2M
Queries
50,000
50 clauses
500 clauses
Work Items
10,000,000 WI versions
1M with 10 versions each
25,000,000 WI versions
2.5M with 10 versions each
200 versions, 100K long text, 25 attachments, 25 links
1,000 versions, 1MB long text, 200 attachments, 200 links
Links
This count is total number in the database rather than per work item.
500,000
2,500,000
Attachments
This count is total number in the database rather than per work item
500MB
2 GB
Version Control
Versioned Items
Files and folders
# of files and folders
2,000,000
20,000,000
Size of a single file.
10GB binary, 200,000 lines text
250GB binary, 1,000,000 lines text
Workspaces
1500 with an average of 10,000 files/folders each
5,000 with an average of 50,000 files/folders each
# of files/folders mapped in the workspace.
200,000
1,000,000
Working Folders
Total in database
25,000
Number for working folders in one workspace.
40
250
Pending Changes
# of pending changes in a single workspace or whole database
Labels
Total # in database
10000 will 5000 files in each
# of files in the label
Shelvesets
20 pending changes, 5 work items each and 3 checkin notes each
25 work items, 20 checkin notes
100 work items, 50 checkin notes
Branches
# of branches in the database
200 branches with 2,000 files/folders each
5000 branches with 10,000 files/folders each
Files and folders in the branch
200,000 files/folders
1,000,000 files/folders
Merging
Counting number of files to merge
100,000 with an average of 1 rev per file
1,000,000 with an average of .5 revs per file
Size of files being merged
200,000 lines of text
1,000,000 lines of text
Changesets
200,000 pending changes
Project Management
Office Document
Excel and MS Project
1,000 WIs
10,000 WIs
Build
Build Types
Total in the database
1,000
3,000
n/a
Builds
250,000
250 solutions, 100,000 files, 1,000 change sets, 1,000 work items, 50000 test results
2000 solutions, 500,000 files, 10,000 changesets, 10,000 work items, 200000 test results
EDT
Test Results (Total in database)
yogitam to revisit based on the email thread
5,000,000
Tests (Total in databases)
Test Runs