I'm attempting to migrate from CruiseControl.NET to Team City. Perforce check-out takes over 40 minutes. Doing it manually using P4Win takes 5. (Doing it on my PC, not in a VM takes 1). Once the build has actually started, if I'm lucky it takes 20 minutes. Logging on to the build agent, I see java.exe taking as much as 99% of the time, with msbuild and csc only ever hitting 30% at most.
I took a guess that its just spamming java with output so I tried switching to MSBuild (from Sln2005) and doing /verbosity:quiet, but this doesn't affect the output at all.
I have two windows 2003 server VMs sharing a Quad-Core 2008 x64 Hyper-V host with 8Gb ram. One server is the web server, the other is a build agent. They communicate using a private VM network - the build agent has "ownaddress" set as well as "ownport". The web server has 768Mb RAM, the build machine 2048Mb. Our CC.NET build agents also have 2048Mb ram. The Virtual Hard disks of the two VMs are on separate physical disks.
I'm not sure that there is a solution. The perforce check-out time is something of a showstopper, but I hope the build agent speed could be improved.