We have documented some scalability limitations for Team System Web Access in a white paper called Team System Web Access 2008 Scalability Limits. The white paper contains some configuration recommendations and limitations for TSWA.
One of the recommendations is to limit the number of concurrent users to a number below 100. Unfortunately, TFS and TSWA do not provide an easy way to measure TSWA user load.
With this in mind, I have created a report that will provide this information.
This report retrieves data from the tbl_Command table in the TfsActivityLogging database, in the same way as the reports in the Grant Holliday’s TFS Performance Report Pack. The TSWA report requires the TfsActivityReportDS data source as listed in Grant’s instructions. The best approach is to install Grant’s reports, and upload the attached TSWA report to the same folder in Reporting Services. Be sure and read my blog post here for some additional instructions, and for SQL Server 2005 Reporting Services-compatible reports if you are using SSRS 2005.
The TSWA Usage report takes four parameters. These are Start Date, End Date, TSWA Instances, and IP Addresses. Because you may have multiple TSWA instances, the report allows you to filter by the instance name (as reported in the UserAgent column of tbl_command) and IP address (the IP of the computer where the TSWA instance is running). If you have multiple TSWA instances of the same version running on the same computer, we currently don’t have a way to differentiate between these instances. The TSWA Instances and IP Addresses parameters are multi-select, with all values selected by default.
There are 3 tables displayed in the report. These are Unique Logins By Instance / IP, Total Logins By Instance IP, and User Logins By Instance / IP. The first is the number of unique logins from each TSWA instance. Here multiple logins by the same user are counted once. This is the one you should use to measure number of users. The second report shows the total number of logins from each TSWA instance (i.e. duplicates are counted), and the third the number of logins broken out by individual users.