This documentation relates to an earlier version of Bamboo.
View

Unknown macro: {spacejump}

or visit the current documentation home.

General information

For Bamboo, the minimum hardware requirements depend on the size and complexity of your plans. Considerations include:

  1. Will your builds have functional tests as part of the plans?
  2. Are your plans executed simultaneously? If so, how many plans will be running at any given time?
  3. What are the requirements for your running builds, e.g. do they need large amounts of memory/disk/swap space?
  4. How many users will be using Bamboo at any given time? Like any web application, the system resource needed is proportional to the load experienced by the server.
  5. How many local agents do you plan on running?

Database connection pool size

The amount of database connections available to Bamboo is the the lower of two values: your DBMS connection limit and the configuration of connection pool on Bamboo size.
For a small to medium instances (~5 concurrent users, ~5 busy/building local agents, 20 remote agents, 50 plans), the default values are sufficient.

You should increase the connection limit if you notice UI freezes or general sluggish UI performance. Do not decrease the amount of available connection below the default limit.
Note: having too many connections available to Bamboo carries no performance penalty as long as your DBMS can handle the load.

Configuring connection pool limit for Bamboo.

Bamboo's connection limit can be modified by altering the following value in your bamboo.cfg.xml file:

<property name="hibernate.c3p0.max_size">25</property>

Local agents considerations

If you run more than 5 concurrently building local agents, note that each busy local agent requires a live database connection, so you'll probably need to adapt the connection limit.
Also, note that large amounts of busy (building) local agents can negatively influence the performance of a Bamboo server (and other services running on that host).

Remote (or elastic) agents considerations

Remote agents do not require special database connection settings.

Rough formula for estimating the amount of needed db connections

(Concurrent users)/5 + (Busy remote agents)/5 + (Local agents)*1.1 + (Amount of concurrent change detections)

For example, an instance with:

  • 5 concurrent users
  • 30 busy remote (or elastic) agents
  • 30 busy local agents
  • 60 plans with repository polling set to 60 second intervals (assume 3 seconds per change detection)

would require 1 + 6 + 33 + 3 = 43 connections.

  • No labels