How do I diagnose slow artefact resolution?


Using TeamCity v7.1.3, I have a build definition which with a snapshot dependency and an artifact dependency on another build.
The dependency is roughly 200MB and consist of 12'000 files.
Build takes 1:45 minutes to run, majority of that time is spent resolving artifact dependencies.
Both working directory and artifact directory are on a 24GB RAMDisk, so when I have replicated the build steps manually it only took a few seconds run.

It is possible I have misconfigured something and I am hitting the physical disk in one of the steps.
How can I diagnose this further?

Many thanks,

Comment actions Permalink


Resolving artifacts includes artifacts transfer from TeamCity server to build agent over the network connection. Also, build agent has local artifacts cache, to avoid extra network transfer. This cache is locates under buildAgent/system directory. This is where you can have extra disk hits.

For further diagnostics we need the build log and corresponding section of teamcity-agent.log with debug level enabled (see this page for instructions on enabling debug logs for the agent)

Comment actions Permalink

Hi Nikita,

Build server and agent are on the same machine, so network latency is not an issue.
Local agent cache is empty (probably because server and agent are on the same machine).

I will generate the necessary logs and post them shortly.

Comment actions Permalink

Refactored my build and got rid of artifacts completely.
Now using build chaining, shared properties and SharedResources plugin.

The build I was trying to optimise went from 2:07 min to 3 seconds!


Please sign in to leave a comment.