ServerSide Checkout vs Agent Checkout - how do I choose?

I have read the documentation on the checkout options and have questions.
We are using Agent checkout at this time, but I have noticed that there seems to be speed advantage
when using Serverside checkout. Our SVN checkout takes about 5 min on the agent and seems is less than a minute on the server.

We have Developer builds that are optimized for speed and mostly used for delayed commits.
We have a Deploy build that produces ear files and does extra reporting.

I was planning to use serverside checkout for the Developer Builds and agent checkout on the deploy builds..

What are some of the issues that I should be aware of?


Comment actions Permalink

Server side checkout is made on server and this option is chosen by default because such type of checkout usually is more convenient. In this case VCS specific configuration can be done on the server only while agent side checkout may require additional configuration on every new agent. Also server side checkout can be done faster because of additional caching applied on the TeamCity server.

The downside of server side checkout is additional load on the server side because every checkout process takes some CPU time.

Pavel Sher

Comment actions Permalink

For large amounts of data coming from the VCS wouldn't it be more optimal to sync directly to the agent rather than 2 hopping through the TeamCity server?  I'm not sure how TeamCity's caching could increase overall performance of the sync process if all the new data has to copy over the network twice (once to the server, then again to the agent)

Comment actions Permalink

More detailed explanation of these modes is included in our documentation:

TeamCity server caches clean patches only, so if two agents ask for clean checkout of the same source tree, TeamCity will prepare clean patch for them or will take cached copy of clean patch, and send it to both agents. So if patch is already cached on the server - communication with VCS will be lowered. But you are right, most likely there won't be performance gain, however load produced on VCS can be lower in some cases.


Please sign in to leave a comment.