diff options
author | Stan Hu <stanhu@gmail.com> | 2018-11-18 10:13:00 +0300 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2018-11-18 11:46:27 +0300 |
commit | d991ea6dddaa1ffaab5c9205bdfdc730c24b09b3 (patch) | |
tree | f81501a93890069610eb1f2ebee526ca2962e76d | |
parent | 29d8179ba07be3ed111f939285eb4064d84cb7df (diff) |
Improve memory performance by reducing dirty pages after 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-- | Gemfile | 3 | ||||
-rw-r--r-- | Gemfile.lock | 2 | ||||
-rw-r--r-- | Gemfile.rails4.lock | 2 | ||||
-rw-r--r-- | changelogs/unreleased/sh-use-nakayoshi-fork.yml | 5 |
4 files changed, 12 insertions, 0 deletions
@@ -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 |