Enable `nakayoshi_fork` by default
What does this MR do?
nakayoshi_fork
was enabled on production already for some time, and we didn't see any issues with GC.compact
and in general.
We consider having it enabled by default.
We don't plan to expose the config to our users, as we expect it to be always beneficial, and we observed it being enabled on production
long enough without causing any issues with GC.compact
.
We will still keep the ENV variable for .com
, so it would be easier to disable it in case of any misbehavior (but we don't expect to).
Related MRs
- GitLab: !54688 (merged)
- Omnibus: omnibus-gitlab!5022 (merged)
- CNG: gitlab-org/build/CNG!599 (merged)
- GDK: gitlab-development-kit!1832 (merged)
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry - [-] Documentation (if required)
-
Code review guidelines - [-] Merge request performance guidelines
-
Style guides - [-] Database guides
- [-] Separation of EE specific content
Availability and Testing
Run Puma with and without DISABLE_PUMA_NAKAYOSHI_FORK="true"
. You may need to gdk reconfigure
or update or config/puma.rb
.
In the second case,
{"timestamp":"2021-02-19T11:48:50.601Z","pid":55934,"message":"! Compacting..."}
will be logged, which means GC.compact
(included into nakayoshi_fork
) kicked in.
Security
N/A