Skip to content

Add 5K reference architecture

What does this MR do?

Add the 5K reference architecture.

It's almost exactly the same as the 3K (!34194 (merged)) with some minor differences in the intro:

5c5
< # Reference architecture: up to 3,000 users
---
> # Reference architecture: up to 5,000 users
7c7
< This page describes GitLab reference architecture for up to 3,000 users.
---
> This page describes GitLab reference architecture for up to 5,000 users.
12c12
< The 3,000-user reference architecture documented below is
---
> The 5,000-user reference architecture documented below is
18c18
< > - **Supported users (approximate):** 3,000
---
> > - **Supported users (approximate):** 5,000
20c20
< > - **Test RPS rates:** API: 60 RPS, Web: 6 RPS, Git: 6 RPS
---
> > - **Test RPS rates:** API: 100 RPS, Web: 10 RPS, Git: 10 RPS
22,35c22,35
< | Service                                                      | Nodes | Configuration                   | GCP             | AWS                     | Azure          |
< |--------------------------------------------------------------|-------|---------------------------------|-----------------|-------------------------|----------------|
< | External load balancing node                                 | 1     | 2 vCPU, 1.8GB Memory            | `n1-highcpu-2`  | `c5.large`              | `F2s v2`       |
< | Redis                                                        | 3     | 2 vCPU, 7.5GB Memory            | `n1-standard-2` | `m5.large`              | `D2s v3`       |
< | Consul + Sentinel                                            | 3     | 2 vCPU, 1.8GB Memory            | `n1-highcpu-2`  | `c5.large`              | `F2s v2`       |
< | PostgreSQL                                                   | 3     | 2 vCPU, 7.5GB Memory            | `n1-standard-2` | `m5.large`              | `D2s v3`       |
< | PgBouncer                                                    | 3     | 2 vCPU, 1.8GB Memory            | `n1-highcpu-2`  | `c5.large`              | `F2s v2`       |
< | Internal load balancing node                                 | 1     | 2 vCPU, 1.8GB Memory            | `n1-highcpu-2`  | `c5.large`              | `F2s v2`       |
< | Gitaly                                                       | 2 minimum     | 4 vCPU, 15GB Memory             | `n1-standard-4` | `m5.xlarge`     | `D4s v3`       |
< | Sidekiq                                                      | 4     | 2 vCPU, 7.5GB Memory            | `n1-standard-2` | `m5.large`              | `D2s v3`       |
< | GitLab Rails                                                 | 3     | 8 vCPU, 7.2GB Memory            | `n1-highcpu-8`  | `c5.2xlarge`            | `F8s v2`       |
< | Monitoring node                                              | 1     | 2 vCPU, 1.8GB Memory            | `n1-highcpu-2`  | `c5.large`              | `F2s v2`       |
< | Object Storage                                               | n/a   | n/a                             | n/a             | n/a                     | n/a            |
< | NFS Server (optional, not recommended)                       | 1     | 4 vCPU, 3.6GB Memory            | `n1-highcpu-4`  | `c5.xlarge`             | `F4s v2`       |
---
> | Service                                                      | Nodes | Configuration                   | GCP             | AWS                   | Azure          |
> |--------------------------------------------------------------|-------|---------------------------------|-----------------|-----------------------|----------------|
> | External load balancing node                                 | 1     | 2 vCPU, 1.8GB Memory            | `n1-highcpu-2`  | `c5.large`            | `F2s v2`       |
> | Redis                                                        | 3     | 2 vCPU, 7.5GB Memory            | `n1-standard-2` | `m5.large`            | `D2s v3`       |
> | Consul + Sentinel                                            | 3     | 2 vCPU, 1.8GB Memory            | `n1-highcpu-2`  | `c5.large`            | `F2s v2`       |
> | PostgreSQL                                                   | 3     | 2 vCPU, 7.5GB Memory            | `n1-standard-2` | `m5.large`            | `D2s v3`       |
> | PgBouncer                                                    | 3     | 2 vCPU, 1.8GB Memory            | `n1-highcpu-2`  | `c5.large`            | `F2s v2`       |
> | Internal load balancing node                                 | 1     | 2 vCPU, 1.8GB Memory            | `n1-highcpu-2`  | `c5.large`            | `F2s v2`       |
> | Gitaly                                                       | 2 minimum  | 8 vCPU, 30GB Memory        | `n1-standard-8` | `m5.2xlarge`          | `D8s v3`       |
> | Sidekiq                                                      | 4     | 2 vCPU, 7.5GB Memory            | `n1-standard-2` | `m5.large`            | `D2s v3`       |
> | GitLab Rails                                                 | 3     | 16 vCPU, 14.4GB Memory          | `n1-highcpu-16` | `c5.4xlarge`          | `F16s v2`      |
> | Monitoring node                                              | 1     | 2 vCPU, 1.8GB Memory            | `n1-highcpu-2`  | `c5.large`            | `F2s v2`       |
> | Object Storage                                               | n/a   | n/a                             | n/a             | n/a                   | n/a            |
> | NFS Server (optional, not recommended)                       | 1     | 4 vCPU, 3.6GB Memory            | `n1-highcpu-4`  | `c5.xlarge`           | `F4s v2`       |
50c50
< To set up GitLab and its components to accommodate up to 3,000 users:
---
> To set up GitLab and its components to accommodate up to 5,000 users:

Related issues

Closes #217853 (closed)

Author's checklist (required)

Do not add the feature, frontend, backend, ~"bug", or database labels if you are only updating documentation. These labels will cause the MR to be added to code verification QA issues.

When applicable:

Review checklist

All reviewers can help ensure accuracy, clarity, completeness, and adherence to the Documentation Guidelines and Style Guide.

1. Primary Reviewer

  • Review by a code reviewer or other selected colleague to confirm accuracy, clarity, and completeness. This can be skipped for minor fixes without substantive content changes.

2. Technical Writer

  • Optional: Technical writer review. If not requested for this MR, must be scheduled post-merge. To request for this MR, assign the writer listed for the applicable DevOps stage.

3. Maintainer

  1. Review by assigned maintainer, who can always request/require the above reviews. Maintainer's review can occur before or after a technical writer review.
  2. Ensure a release milestone is set.
  3. If there has not been a technical writer review, create an issue for one using the Doc Review template.

Merge request reports

Loading