2020-07-28 12:09:49 +00:00
---
stage: Enablement
group: Distribution
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/#designated-technical-writers
---
2020-08-13 15:10:03 +00:00
# Reference architecture: up to 1,000 users **(CORE ONLY)**
2020-05-08 18:09:55 +00:00
2020-07-28 12:09:49 +00:00
This page describes GitLab reference architecture for up to 1,000 users. For a
full list of reference architectures, see
2020-05-08 18:09:55 +00:00
[Available reference architectures ](index.md#available-reference-architectures ).
2020-07-28 12:09:49 +00:00
If you need to serve up to 1,000 users and you don't have strict availability
requirements, a single-node solution with
2020-09-07 15:09:04 +00:00
[frequent backups ](index.md#automated-backups ) is appropriate for
2020-07-28 12:09:49 +00:00
many organizations .
2020-05-08 18:09:55 +00:00
2020-07-28 12:09:49 +00:00
> - **Supported users (approximate):** 1,000
> - **High Availability:** No
| Users | Configuration | GCP | AWS | Azure |
|--------------|-------------------------|----------------|-----------------|----------------|
2020-09-24 12:09:37 +00:00
| 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-07-28 12:09:49 +00:00
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
[CPU benchmark ](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks ).
2020-09-24 12:09:37 +00:00
In addition to the stated configurations, we recommend having at least 2 GB of
2020-07-28 12:09:49 +00:00
swap on your server, even if you currently have enough available memory. Having
2020-09-24 12:09:37 +00:00
swap helps to reduce the chance of errors occurring if your available memory
2020-07-28 12:09:49 +00:00
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-08 18:09:55 +00:00
## Setup instructions
2020-07-28 12:09:49 +00:00
For this default reference architecture, to install GitLab use the standard
[installation instructions ](../../install/README.md ).
2020-05-08 18:09:55 +00:00
NOTE: **Note:**
You can also optionally configure GitLab to use an
2020-06-11 09:08:16 +00:00
[external PostgreSQL service ](../postgresql/external.md ) or an
2020-10-02 09:08:33 +00:00
[external object storage service ](../object_storage.md ) for
2020-05-08 18:09:55 +00:00
added performance and reliability at a reduced complexity cost.
2020-09-22 09:09:43 +00:00
## Configure Advanced Search **(STARTER ONLY)**
NOTE: **Note:**
Elasticsearch cluster design and requirements are dependent on your specific data.
For recommended best practices on 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 ).
You can leverage Elasticsearch and enable Advanced Search for faster, more
advanced code search across your entire GitLab instance.
[Learn how to set it up. ](../../integration/elasticsearch.md )