-
Notifications
You must be signed in to change notification settings - Fork 95
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
a7e8794
commit 1675c0a
Showing
1 changed file
with
4 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,13 @@ | ||
[id="Puma_Threads_{context}"] | ||
= Puma threads | ||
|
||
Number of Puma threads (per Puma worker) is configured by using two values: `threads_min` and `threads_max`. | ||
To configure the number of Puma threads (per Puma worker), use these values: `threads_min` and `threads_max`. | ||
|
||
Value of `threads_min` determines how many threads each worker spawns at a worker start. | ||
Then, as concurrent requests are coming and more threads is needed, worker will be spawning more and more workers up to `threads_max` limit. | ||
|
||
We recommend setting `threads_min` to same value as `threads_max` as having fewer Puma threads lead to higher memory usage on your {ProjectServer}. | ||
|
||
For example, we have compared these two setups by using concurrent registrations test: | ||
|
||
[width="100%",cols="50%,50%",options="header",] | ||
|=== | ||
|{Project} VM with 8 CPUs, 40 GiB RAM |{Project} VM with 8 CPUs, 40 GiB RAM | ||
|`--foreman-foreman-service-puma-threads-min=0` |`--foreman-foreman-service-puma-threads-min=16` | ||
|`--foreman-foreman-service-puma-threads-max=16` |`--foreman-foreman-service-puma-threads-max=16` | ||
|`--foreman-foreman-service-puma-workers=2` |`--foreman-foreman-service-puma-workers=2` | ||
|=== | ||
|
||
Setting the minimum Puma threads to `16` results in about 12% less memory usage as compared to `threads_min=0`. | ||
For example, we have compared these two setups on a virtual machine with 8 CPUs and 40 GiB RAM using concurrent registrations test. | ||
They both used `--foreman-foreman-service-puma-threads-max=16` and `--foreman-foreman-service-puma-workers=2`. | ||
Setting the minimum Puma threads to `16` by using `--foreman-foreman-service-puma-threads-min=16` results in about 12% less memory usage as compared to `0`. |