From 95b639e280c817b70c5a3689898603130008d00f Mon Sep 17 00:00:00 2001 From: Drew Blessing Date: Mon, 6 May 2019 15:05:19 -0500 Subject: [PATCH 1/2] Add the WIP 10k ref architecture specs to HA docs The 10,000 user reference architecture work is ongoing. However, we have done some preliminary investigation and testing and have an idea of what we think the environment might look like. In the interest of transparency, efficiency and iteration, let's get this out there. --- .../high_availability/README.md | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/doc/administration/high_availability/README.md b/doc/administration/high_availability/README.md index de61c01991b..c39f1ced64d 100644 --- a/doc/administration/high_availability/README.md +++ b/doc/administration/high_availability/README.md @@ -145,14 +145,38 @@ environments this is a good architecture to consider if you foresee or do have contention due to certain workloads. - 3 PostgreSQL nodes +- 1 PgBouncer node - 2 Redis nodes - 3 Consul/Sentinel nodes - 2 or more Sidekiq nodes -- 2 or more Web nodes (Unicorn, Workhorse, PGBouncer) +- 2 or more GitLab application nodes (Unicorn, Workhorse) - 1 or more NFS/Gitaly servers +- 1 Monitoring node (Prometheus, Grafana) ![Hybrid architecture diagram](https://docs.gitlab.com/ee/administration/img/high_availability/hybrid.png) +#### Reference Architecture + +- **Status:** Work-in-progress +- **Supported Users (approximate):** 10,000 +- **Related Issues:** [gitlab-com/support/support-team-meta#1513](https://gitlab.com/gitlab-com/support/support-team-meta/issues/1513), + [gitlab-org/quality/team-tasks#110](https://gitlab.com/gitlab-org/quality/team-tasks/issues/110) + +The Support and Quality teams are in the process of building and performance testing +an environment that will support about 10,000 users. The specifications below +are a work-in-progress representation of the work so far. Quality will be +certifying this environment in FY20-Q2. The specifications may be adjusted +prior to certification based on performance testing. + +- 3 PostgreSQL - 4 CPU, 8GB RAM +- 1 PgBouncer - 2 CPU, 4GB RAM +- 2 Redis - 2 CPU, 8GB RAM +- 3 Consul/Sentinel - 2 CPU, 2GB +- 4 Sidekiq - 4 CPU, 8GB RAM +- 5 GitLab application nodes - 20 CPU, 64GB RAM +- 1 Gitaly - 20 CPU, 64GB RAM +- 1 Monitoring node - 4 CPU, 8GB RAM + ### Fully Distributed This architecture scales to hundreds of thousands of users and projects and is From 247d4b9a7013b45cf0f78305facc4f94f0111c18 Mon Sep 17 00:00:00 2001 From: Drew Blessing Date: Tue, 7 May 2019 16:28:41 +0000 Subject: [PATCH 2/2] Apply suggestion to doc/administration/high_availability/README.md --- doc/administration/high_availability/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/administration/high_availability/README.md b/doc/administration/high_availability/README.md index c39f1ced64d..24db1c28778 100644 --- a/doc/administration/high_availability/README.md +++ b/doc/administration/high_availability/README.md @@ -171,7 +171,7 @@ prior to certification based on performance testing. - 3 PostgreSQL - 4 CPU, 8GB RAM - 1 PgBouncer - 2 CPU, 4GB RAM - 2 Redis - 2 CPU, 8GB RAM -- 3 Consul/Sentinel - 2 CPU, 2GB +- 3 Consul/Sentinel - 2 CPU, 2GB RAM - 4 Sidekiq - 4 CPU, 8GB RAM - 5 GitLab application nodes - 20 CPU, 64GB RAM - 1 Gitaly - 20 CPU, 64GB RAM