Build Server Spec Recomendations

Hi There,

I'm looking to build a server box to run Team City to support a development team of 15 people.

Does anyone have any metrics as to how to size a server for this task? Or anecdotal evindence?
What are the bottle necks when more than one user is building? CPU, RAM, Network or Disk?

Thanks!

6 comments
Comment actions Permalink

Hello Daniel,

  You may want to read the following blog posts regarding the issue:

  500 build hours per day
  TeamCity scalability: database and disk space

  Hope this helps,
  KIR

0
Comment actions Permalink

So, if I'm reading this correctly, you have 30 machines (agents) in your build farm which report their results to your central results sever which is specced as PC with dual core CPU 3.2GHz / 4Gb RAM.

Are the agents dedicated build boxes or do you use people's desktop's for example and just consume the spare clock cycles?

0
Comment actions Permalink

Hello Daniel,

  Actually, by the moment we have ~50 build agents connected to the single TeamCity server, and more than 50 developers who work with TeamCity on regular basis both from WebUI and from IDE plugins.

  We use a dedicated box per build agent as a rule, and we have several boxes which run several build agents per box.

  We don't use spare dedicated PCs for build agents, though this is possible.

  Regards,
  KIR

0
Comment actions Permalink

Okay - so probably around a ratio of 1 Build Agent Box to 2 Developers then.

What would the spec of an average dedicated build agent box be then? Dual Core, 2.8GHz, 2GB Ram?

Thanks for your help

0
Comment actions Permalink

Hello Daniel,

  I think this will work OK. Check how fast your builds on such agent and than decide.

  Please note that builds under TeamCity work more slowly than under command line. This happens
  because build runtime information is sent to the TeamCity server while build is running. This allows to
  provide faster feedback from builds.

  Regards,
  KIR

0
Comment actions Permalink

Hi There,

Thanks for that.

Interestingly your last post there - almost sounds like an invitation for a Feature Request.

Given that I would imagine that most builds run unattended with users only taking an interest once the result of the build is known (and presumably getting on with other things in the interim), there's perhaps room for a config option which send back less information to the build server to increase the throughput.

The other possibly related issue I notice (and this might just be related to the low spec of my evaluation machine) is that when TeamCity gets sources from TFS, this seems to be dramatically slower than doing a similar action in VisualStudio. I wonder if this is a similar problem?

Thanks for your help!

0

Please sign in to leave a comment.