2020-10-24 23:57:45 +05:30
---
stage: Enablement
group: Distribution
2021-02-22 17:27:13 +05:30
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
2020-10-24 23:57:45 +05:30
---
2020-05-24 23:13:21 +05:30
2021-03-11 19:13:27 +05:30
# Reference architecture: up to 1,000 users **(FREE SELF)**
2020-05-24 23:13:21 +05:30
2020-10-24 23:57:45 +05:30
This page describes GitLab reference architecture for up to 1,000 users. For a
full list of reference architectures, see
[Available reference architectures ](index.md#available-reference-architectures ).
2020-06-23 00:09:42 +05:30
2020-10-24 23:57:45 +05:30
If you need to serve up to 1,000 users and you don't have strict availability
requirements, a single-node solution with
2020-11-24 15:15:51 +05:30
[frequent backups ](index.md#automated-backups ) is appropriate for
2020-10-24 23:57:45 +05:30
many organizations .
2020-05-24 23:13:21 +05:30
2020-10-24 23:57:45 +05:30
> - **Supported users (approximate):** 1,000
2021-03-08 18:12:59 +05:30
> - **High Availability:** No. For a highly-available environment, you can
2021-06-08 01:23:25 +05:30
> follow a modified [3K reference architecture](3k_users.md#supported-modifications-for-lower-user-counts-ha).
2021-03-11 19:13:27 +05:30
> - **Test requests per second (RPS) rates:** API: 20 RPS, Web: 2 RPS, Git (Pull): 2 RPS, Git (Push): 1 RPS
2020-10-24 23:57:45 +05:30
2021-06-08 01:23:25 +05:30
| Users | Configuration | GCP | AWS | Azure |
|--------------|-------------------------|----------------|--------------|----------|
| Up to 500 | 4 vCPU, 3.6 GB memory | `n1-highcpu-4` | `c5.xlarge` | `F4s v2` |
| Up to 1,000 | 8 vCPU, 7.2 GB memory | `n1-highcpu-8` | `c5.2xlarge` | `F8s v2` |
2020-10-24 23:57:45 +05:30
The Google Cloud Platform (GCP) architectures were built and tested using the
[Intel Xeon E5 v3 (Haswell) ](https://cloud.google.com/compute/docs/cpu-platforms )
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 ](https://github.com/akopytov/sysbench )-based
2021-06-08 01:23:25 +05:30
[CPU benchmarks ](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks ).
2020-10-24 23:57:45 +05:30
2021-01-03 14:25:43 +05:30
In addition to the stated configurations, we recommend having at least 2 GB of
2020-10-24 23:57:45 +05:30
swap on your server, even if you currently have enough available memory. Having
2021-01-03 14:25:43 +05:30
swap helps to reduce the chance of errors occurring if your available memory
2020-10-24 23:57:45 +05:30
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.
2020-05-24 23:13:21 +05:30
## Setup instructions
2021-01-03 14:25:43 +05:30
To install GitLab for this default reference architecture, use the standard
2021-03-11 19:13:27 +05:30
[installation instructions ](../../install/index.md ).
2020-05-24 23:13:21 +05:30
2021-01-03 14:25:43 +05:30
You can also optionally configure GitLab to use an [external PostgreSQL service ](../postgresql/external.md )
or an [external object storage service ](../object_storage.md ) for added
2021-03-11 19:13:27 +05:30
performance and reliability at an increased complexity cost.
2021-01-03 14:25:43 +05:30
2021-03-11 19:13:27 +05:30
## Configure Advanced Search **(PREMIUM SELF)**
2021-01-03 14:25:43 +05:30
You can leverage Elasticsearch and [enable Advanced Search ](../../integration/elasticsearch.md )
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 ](../../integration/elasticsearch.md#guidance-on-choosing-optimal-cluster-configuration ).