The hardware requirements vary depending on multiple factors including: the deployment type, seat count, repository size, and usage patterns. This page provides guidelines that help estimate the required hardware specifications.
Helix TeamHub application is written to be efficient and lightweight. However due to the nature of the product, most of the activities trigger calls to the underlying version control system. Keeping this in mind makes choosing the right hardware easier, since Helix TeamHub usage is estimated along with the underlying components.
Helix TeamHub technology stack consists of a number of components. In order for them to stay coherent, the following minimum hardware specifications are required for any server having Helix TeamHub installation:
|Data Storage||High-performance SAN or locally attached storage|
Determining hardware capacity requirements
Helix TeamHub is battle-tested to serve thousands of users. The variation in usage patterns makes it hard to give accurate numbers, but the following matrix can be used as reference based on past experience.
|Seats||Memory||CPU Cores||Root disk space|
Since the system deals with a lot of IO operations to the repositories on disk, it is recommended to have an ultra-fast (SSD/SAN) data storage with speedy access.
Built-in support for horizontal scalability makes Helix TeamHub ready to handle a large number of requests with increased performance. It's recommended to use a hardware or software (see How to setup HAProxy) load balancer for distributing the load across Helix TeamHub cluster nodes. Combining round-robin algorithms with decent hardware specs delivers the best performance.
Helix TeamHub DB
Helix TeamHub uses MongoDB extensively. It is recommended giving MongoDB a decent amount of RAM to have the working set reside in memory for fast access.
If using HAProxy for load balancing, Helix TeamHub recommends 1-2 CPU cores and 2GB of RAM. Having a reliable and fast network between the load balancer and the Helix TeamHub Web servers is extremely important.
Understanding Helix TeamHub Resource Usage
Git cloning is the most demanding task for CPU/RAM. For a large Git repo (1.5 GB, 500K commits), git-pack-objects utilizes a single core CPU from 45% to around 90% and around 10% of RAM. It then uses lower resources during git-receive-pack operation to about 20% CPU and 40% RAM. For the same repository, the initial Git push/import triggers git-index-pack, which utilizes CPU from 45% to around 90% and about 10% of RAM.
For questions or concerns about performance issues and/or capacity management, don't hesitate to contact the Helix TeamHub Support Team.