Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
297e7c3f
Commit
297e7c3f
authored
Jan 22, 2020
by
Evan Read
Committed by
Marcel Amirault
Jan 22, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Minor fixes to new scalability content
parent
eb30b359
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
16 deletions
+16
-16
doc/development/scalability.md
doc/development/scalability.md
+16
-16
No files found.
doc/development/scalability.md
View file @
297e7c3f
...
...
@@ -104,10 +104,10 @@ GitLab.com](https://gitlab.com/gitlab-com/gl-infra/infrastructure/issues/7356).
There are several strategies to provide high-availability and redundancy:
1.
Write-ahead logs (WAL) streamed to object storage (e.g. S3, Google Cloud
-
Write-ahead logs (WAL) streamed to object storage (e.g. S3, Google Cloud
Storage).
1.
Read-replicas (hot backups)
1.
Delayed replicas
-
Read-replicas (hot backups).
-
Delayed replicas.
To restore a database from a point in time, a base backup needs to have
been taken prior to that incident. Once a database has restored from
...
...
@@ -145,8 +145,8 @@ saturate a single core, which can result in slower response times for
background job and/or Web requests. There are two ways to address this
limitation:
1.
Run multiple PgBouncer instances
1.
Use a multi-threaded connection pooler (e.g.
-
Run multiple PgBouncer instances.
-
Use a multi-threaded connection pooler (e.g.
[
Odyssey
](
https://gitlab.com/gitlab-com/gl-infra/infrastructure/issues/7776
)
.
On some Linux systems, it's possible to run
[
multiple PgBouncer instances on
...
...
@@ -158,9 +158,9 @@ avoid saturating a single core.
In addition, the PgBouncer instances that communicate with the primary
and secondaries are set up a bit differently:
1.
Multiple PgBouncer instances in different availability zones talk to the
PostgreSQL primary
1.
Multiple PgBouncer processes are colocated with PostgreSQL read replicas
-
Multiple PgBouncer instances in different availability zones talk to the
PostgreSQL primary.
-
Multiple PgBouncer processes are colocated with PostgreSQL read replicas.
For replicas, colocating is advantageous because it reduces network hops
and hence latency. However, for the primary, colocating is
...
...
@@ -211,10 +211,10 @@ Redis process.
#### High availability/Risks
1.
Single-core: Like PgBouncer, a single Redis process can only use one
Single-core: Like PgBouncer, a single Redis process can only use one
core. It does not support multi-threading.
1.
Dumb secondaries: Redis secondaries (aka slaves) don't actually
Dumb secondaries: Redis secondaries (aka slaves) don't actually
handle any load. Unlike PostgreSQL secondaries, they don't even serve
read queries. They simply replicate data from the primary and take over
only when the primary fails.
...
...
@@ -240,10 +240,10 @@ Sidekiq is a multi-threaded, background job processing system used in
Ruby on Rails applications. In GitLab, Sidekiq performs the heavy
lifting of many activities, including:
1.
Updating merge requests after a push
1.
Sending e-mails
1.
Updating user authorizations
1.
Processing CI builds and pipelines
-
Updating merge requests after a push.
-
Sending e-mails.
-
Updating user authorizations.
-
Processing CI builds and pipelines.
The full list of jobs can be found in the
[
app/workers
](
https://gitlab.com/gitlab-org/gitlab/tree/master/app/workers
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment