- Setup instructions
- Configure Advanced Search
- Cloud Native Hybrid reference architecture with Helm Charts
This page describes GitLab reference architecture for up to 1,000 users. For a full list of reference architectures, see Available reference architectures.
If you need to serve up to 1,000 users and you don’t have strict availability requirements, a single-node solution with frequent backups is appropriate for many organizations.
- Supported users (approximate): 1,000
- High Availability: No. For a highly-available environment, you can follow a modified 3K reference architecture.
- Cloud Native Hybrid: No. For a cloud native hybrid environment, you can follow a modified hybrid reference architecture.
- Test requests per second (RPS) rates: API: 20 RPS, Web: 2 RPS, Git (Pull): 2 RPS, Git (Push): 1 RPS
- Latest 1k weekly performance testing results
|Up to 500||4 vCPU, 3.6 GB memory|
|Up to 1,000||8 vCPU, 7.2 GB memory|
The Google Cloud Platform (GCP) architectures were built and tested using the Intel Xeon E5 v3 (Haswell) CPU platform. On different hardware you may find that adjustments, either lower or higher, are required for your CPU or node counts. For more information, see our Sysbench-based CPU benchmarks.
In addition to the stated configurations, we recommend having at least 2 GB of
swap on your server, even if you currently have enough available memory. Having
swap helps to reduce the chance of errors occurring if your available memory
changes. We also recommend configuring the kernel’s swappiness setting to a
lower value (such as
10) to make the most of your memory, while still having
the swap available when needed.
To install GitLab for this default reference architecture, use the standard installation instructions.
You can leverage Elasticsearch and enable Advanced Search for faster, more advanced code search across your entire GitLab instance.
Elasticsearch cluster design and requirements are dependent on your specific data. For recommended best practices about how to set up your Elasticsearch cluster alongside your instance, read how to choose the optimal cluster configuration.
Cloud Native Hybrid Reference Architecture is an alternative approach where select stateless components are deployed in Kubernetes via our official Helm Charts, and stateful components are deployed in compute VMs with Omnibus.
The 2k GitLab Cloud Native Hybrid (non HA) and 3k GitLab Cloud Native Hybrid (HA) reference architectures are the smallest we recommend in Kubernetes. For environments that need to serve less users, you can lower the node specs. Depending on your user count, you can lower all suggested node specs as desired. However, it’s recommended that you don’t go lower than the general requirements.