TeamCity integration with Perforce overloading our Perforce server

We just migrated a very large development project from Subversion to Perforce and started using the Perforce plugin for TeamCity. We have 14 TeamCity agents now all trying to populate workspaces to prepare for doing TeamCity builds. We found today (day 1 after the migration) that TeamCity overwhelmed our Perforce Server with open sessions.

Does anyone have experience using this integration on large development projects? By large I mean we have over 250 contributors to the project located at 4 major development sites spread across the globe. The main project has ~20 project teams each requiring their own TeamCity builds. We have 14 agents configured to support these builds.

How can we configure the TeamCity / Perforce integration so that it doesn't overload our Perforce server?

Mike Greenberg


To add some details...

There are two issues. First it is issuing commands against //... when it should be concerned with only a single depot on this server (the server handles several teams, each in their own depots). Second it is using the p4 changes command to check for changes (mostly in //...) at a very high rate (I counted 9 tries in one second, that was almost certainly not the peak).

The polling rate might be sustainable if it wasn't trying to sync up 100s of thousands of useless files so finding a way to restrict its view of the repository is the critical issue.

Last time I checked it had queued up 60 requests to the server (and it is a VERY fast server).

-William Ivey



   The problem with server overload should be fixed (or, at least, significantly reduced) in the next TeamCity update (4.5.4) which is about to be released on this week.



Please sign in to leave a comment.