Commit f1f48e9f authored by Grant Young's avatar Grant Young Committed by Achilleas Pipinellis

Update Ref Arch docs with Gitaly Cluster

parent 401d2d96
...@@ -18,6 +18,7 @@ many organizations . ...@@ -18,6 +18,7 @@ many organizations .
> - **Supported users (approximate):** 1,000 > - **Supported users (approximate):** 1,000
> - **High Availability:** No. For a highly-available environment, you can > - **High Availability:** No. For a highly-available environment, you can
> follow the [3K reference architecture](3k_users.md). > follow the [3K reference architecture](3k_users.md).
> - **Test requests per second (RPS) rates:** API: 20 RPS, Web: 2 RPS, Git (Pull): 2 RPS, Git (Push): 1 RPS
| Users | Configuration | GCP | AWS | Azure | | Users | Configuration | GCP | AWS | Azure |
|--------------|-------------------------|----------------|-----------------|----------------| |--------------|-------------------------|----------------|-----------------|----------------|
......
...@@ -13,7 +13,7 @@ full list of reference architectures, see ...@@ -13,7 +13,7 @@ full list of reference architectures, see
> - **Supported users (approximate):** 25,000 > - **Supported users (approximate):** 25,000
> - **High Availability:** Yes > - **High Availability:** Yes
> - **Test requests per second (RPS) rates:** API: 500 RPS, Web: 50 RPS, Git: 50 RPS > - **Test requests per second (RPS) rates:** API: 500 RPS, Web: 50 RPS, Git (Pull): 50 RPS, Git (Push): 10 RPS
| Service | Nodes | Configuration | GCP | AWS | Azure | | Service | Nodes | Configuration | GCP | AWS | Azure |
|-----------------------------------------|-------------|-------------------------|-----------------|-------------|----------| |-----------------------------------------|-------------|-------------------------|-----------------|-------------|----------|
......
...@@ -14,7 +14,7 @@ For a full list of reference architectures, see ...@@ -14,7 +14,7 @@ For a full list of reference architectures, see
> - **Supported users (approximate):** 2,000 > - **Supported users (approximate):** 2,000
> - **High Availability:** No. For a highly-available environment, you can > - **High Availability:** No. For a highly-available environment, you can
> follow the [3K reference architecture](3k_users.md). > follow the [3K reference architecture](3k_users.md).
> - **Test requests per second (RPS) rates:** API: 40 RPS, Web: 4 RPS, Git: 4 RPS > - **Test requests per second (RPS) rates:** API: 40 RPS, Web: 4 RPS, Git (Pull): 4 RPS, Git (Push): 1 RPS
| Service | Nodes | Configuration | GCP | AWS | Azure | | Service | Nodes | Configuration | GCP | AWS | Azure |
|------------------------------------------|--------|-------------------------|----------------|--------------|---------| |------------------------------------------|--------|-------------------------|----------------|--------------|---------|
...@@ -27,44 +27,32 @@ For a full list of reference architectures, see ...@@ -27,44 +27,32 @@ For a full list of reference architectures, see
| Object storage | n/a | n/a | n/a | n/a | n/a | | Object storage | n/a | n/a | n/a | n/a | n/a |
| NFS server (optional, not recommended) | 1 | 4 vCPU, 3.6 GB memory | n1-highcpu-4 | `c5.xlarge` | F4s v2 | | NFS server (optional, not recommended) | 1 | 4 vCPU, 3.6 GB memory | n1-highcpu-4 | `c5.xlarge` | F4s v2 |
```mermaid ```plantuml
stateDiagram-v2 @startuml 2k
[*] --> LoadBalancer card "**External Load Balancer**" as elb #6a9be7
LoadBalancer --> ApplicationServer
ApplicationServer --> Gitaly collections "**GitLab Rails** x3" as gitlab #32CD32
ApplicationServer --> Redis card "**Prometheus + Grafana**" as monitor #7FFFD4
ApplicationServer --> Database card "**Gitaly**" as gitaly #FF8C00
ApplicationServer --> ObjectStorage card "**PostgreSQL**" as postgres #4EA7FF
card "**Redis**" as redis #FF6347
cloud "**Object Storage**" as object_storage #white
ApplicationMonitoring -->ApplicationServer elb -[#6a9be7]-> gitlab
ApplicationMonitoring -->Redis elb -[#6a9be7]--> monitor
ApplicationMonitoring -->Database
gitlab -[#32CD32]--> gitaly
gitlab -[#32CD32]--> postgres
gitlab -[#32CD32]-> object_storage
gitlab -[#32CD32]--> redis
state Database { monitor .[#7FFFD4]u-> gitlab
"PG_Node" monitor .[#7FFFD4]-> gitaly
} monitor .[#7FFFD4]-> postgres
state Redis { monitor .[#7FFFD4,norank]--> redis
"Redis_Node" monitor .[#7FFFD4,norank]u--> elb
}
state Gitaly { @enduml
"Gitaly"
}
state ApplicationServer {
"AppServ_1..2"
}
state LoadBalancer {
"LoadBalancer"
}
state ApplicationMonitoring {
"Prometheus"
"Grafana"
}
``` ```
The Google Cloud Platform (GCP) architectures were built and tested using the The Google Cloud Platform (GCP) architectures were built and tested using the
......
...@@ -21,7 +21,7 @@ For a full list of reference architectures, see ...@@ -21,7 +21,7 @@ For a full list of reference architectures, see
> - **Supported users (approximate):** 3,000 > - **Supported users (approximate):** 3,000
> - **High Availability:** Yes > - **High Availability:** Yes
> - **Test requests per second (RPS) rates:** API: 60 RPS, Web: 6 RPS, Git: 6 RPS > - **Test requests per second (RPS) rates:** API: 60 RPS, Web: 6 RPS, Git (Pull): 6 RPS, Git (Push): 1 RPS
| Service | Nodes | Configuration | GCP | AWS | Azure | | Service | Nodes | Configuration | GCP | AWS | Azure |
|--------------------------------------------|-------------|-----------------------|----------------|-------------|---------| |--------------------------------------------|-------------|-----------------------|----------------|-------------|---------|
......
...@@ -13,7 +13,7 @@ full list of reference architectures, see ...@@ -13,7 +13,7 @@ full list of reference architectures, see
> - **Supported users (approximate):** 50,000 > - **Supported users (approximate):** 50,000
> - **High Availability:** Yes > - **High Availability:** Yes
> - **Test requests per second (RPS) rates:** API: 1000 RPS, Web: 100 RPS, Git: 100 RPS > - **Test requests per second (RPS) rates:** API: 1000 RPS, Web: 100 RPS, Git (Pull): 100 RPS, Git (Push): 20 RPS
| Service | Nodes | Configuration | GCP | AWS | Azure | | Service | Nodes | Configuration | GCP | AWS | Azure |
|-----------------------------------------|-------------|-------------------------|-----------------|--------------|----------| |-----------------------------------------|-------------|-------------------------|-----------------|--------------|----------|
......
...@@ -20,7 +20,7 @@ costly-to-operate environment by using the ...@@ -20,7 +20,7 @@ costly-to-operate environment by using the
> - **Supported users (approximate):** 5,000 > - **Supported users (approximate):** 5,000
> - **High Availability:** Yes > - **High Availability:** Yes
> - **Test requests per second (RPS) rates:** API: 100 RPS, Web: 10 RPS, Git: 10 RPS > - **Test requests per second (RPS) rates:** API: 100 RPS, Web: 10 RPS, Git (Pull): 10 RPS, Git (Push): 2 RPS
| Service | Nodes | Configuration | GCP | AWS | Azure | | Service | Nodes | Configuration | GCP | AWS | Azure |
|--------------------------------------------|-------------|-------------------------|----------------|-------------|----------| |--------------------------------------------|-------------|-------------------------|----------------|-------------|----------|
......
...@@ -29,7 +29,8 @@ per 1,000 users: ...@@ -29,7 +29,8 @@ per 1,000 users:
- API: 20 RPS - API: 20 RPS
- Web: 2 RPS - Web: 2 RPS
- Git: 2 RPS - Git (Pull): 2 RPS
- Git (Push): 0.4 RPS (rounded to nearest integer)
For GitLab instances with less than 2,000 users, it's recommended that you use For GitLab instances with less than 2,000 users, it's recommended that you use
the [default setup](#automated-backups) by the [default setup](#automated-backups) by
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment