Performance issue with TeamCity (MSBuild / Patch Creation) against available resources Follow
Is there any active mechanisms for curbing TeamCity process.
I explain more. A colleague has set up a TeamCity server on a dedicated machine that communicates with a Subversion server on a dedicated machine also. Both machines are on a same local network.
During the following steps:
- sources retrieval from SVN (patch creation)
- MSBuild script execution
both servers load is low. It seems that they're waiting...
Is there a way to speed up these processes?
Please sign in to leave a comment.
Have you tried to use checkout on agent?
Not yet. But do you think it has really an impact on patch creation?
It will be tried.
What about MSBuild script runner?
Checkout on agent does not require patch construction on the server side. It is like an update from the Subversion into the checkout directory.
As for MSBuild script I would suggest to run it manually and see what load it produces. I do not think that agent somehow slows down MSBuild.
Yes, with checkout on agent, performance is really better! It shows that the patch construction is time consuming.
When run directly from a command-line window, MSBuild script runs really faster (2-3 times). It's a small script that has been used.
There should be an overhead using TeamCity MSBuild runner?
TeamCity attaches it's logger to MSBuild process that is sending information to TeamCity using XMLRPC. This should not change the execution time dramatically. I believe this should be about a constant delay with to dependency to the script size.
Could you please share the build script/TeamCity build log for me to analize.
What would be the execution time in for script A:
- running the script from commandline
- running the script from <MSBuild> task that was included into some wrapping msbuild script started by TeamCity
Here is the log file from the launch within TeamCity 12 seconds.
The MSBuild execution outside takes 4 seconds.
Sorry for the delay. The question is still relevant? If yes please leave a comment or create a separate thread.