summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2018-11-17 23:13:00 -0800
committerStan Hu <stanhu@gmail.com>2018-11-18 00:46:27 -0800
commitd991ea6dddaa1ffaab5c9205bdfdc730c24b09b3 (patch)
treef81501a93890069610eb1f2ebee526ca2962e76d
parent29d8179ba07be3ed111f939285eb4064d84cb7df (diff)
downloadgitlab-ce-sh-use-nakayoshi-fork.tar.gz
Improve memory performance by reducing dirty pages after fork()sh-use-nakayoshi-fork
The nakayoshi_fork gem works around the lack of a Ruby compacting garbage collecting by calling GC.start a few times to "promote" the age of young objects to the maximum age 3. This reduces the number of dirty pages and consequently improves copy-on-write behavior with unicorn and other forking Web application servers.
-rw-r--r--Gemfile3
-rw-r--r--Gemfile.lock2
-rw-r--r--Gemfile.rails4.lock2
-rw-r--r--changelogs/unreleased/sh-use-nakayoshi-fork.yml5
4 files changed, 12 insertions, 0 deletions
diff --git a/Gemfile b/Gemfile
index 2a228b326ad..8104ddde61b 100644
--- a/Gemfile
+++ b/Gemfile
@@ -15,6 +15,9 @@ source 'https://rubygems.org'
gem 'rails', gem_versions['rails']
gem 'rails-deprecated_sanitizer', '~> 1.0.3'
+# Improves copy-on-write performance for MRI
+gem 'nakayoshi_fork', '~> 0.0.4'
+
# Responders respond_to and respond_with
gem 'responders', '~> 2.0'
diff --git a/Gemfile.lock b/Gemfile.lock
index e21a1b85457..84137fbfa6c 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -470,6 +470,7 @@ GEM
mustermann-grape (1.0.0)
mustermann (~> 1.0.0)
mysql2 (0.4.10)
+ nakayoshi_fork (0.0.4)
net-ldap (0.16.0)
net-ssh (5.0.1)
netrc (0.11.0)
@@ -1051,6 +1052,7 @@ DEPENDENCIES
mini_magick
minitest (~> 5.7.0)
mysql2 (~> 0.4.10)
+ nakayoshi_fork (~> 0.0.4)
net-ldap
net-ssh (~> 5.0)
nokogiri (~> 1.8.2)
diff --git a/Gemfile.rails4.lock b/Gemfile.rails4.lock
index fea3102b8d6..8ca5f114af8 100644
--- a/Gemfile.rails4.lock
+++ b/Gemfile.rails4.lock
@@ -467,6 +467,7 @@ GEM
mustermann-grape (1.0.0)
mustermann (~> 1.0.0)
mysql2 (0.4.10)
+ nakayoshi_fork (0.0.4)
net-ldap (0.16.0)
net-ssh (5.0.1)
netrc (0.11.0)
@@ -1042,6 +1043,7 @@ DEPENDENCIES
mini_magick
minitest (~> 5.7.0)
mysql2 (~> 0.4.10)
+ nakayoshi_fork (~> 0.0.4)
net-ldap
net-ssh (~> 5.0)
nokogiri (~> 1.8.2)
diff --git a/changelogs/unreleased/sh-use-nakayoshi-fork.yml b/changelogs/unreleased/sh-use-nakayoshi-fork.yml
new file mode 100644
index 00000000000..5977d9b0974
--- /dev/null
+++ b/changelogs/unreleased/sh-use-nakayoshi-fork.yml
@@ -0,0 +1,5 @@
+---
+title: Improve memory performance by reducing dirty pages after fork()
+merge_request: 23169
+author:
+type: performance