Skip to content

Commit

Permalink
update puma threads tunings
Browse files Browse the repository at this point in the history
Apply suggestions from code review

looks good. thank you guys!

Co-authored-by: Aneta Šteflová Petrová <[email protected]>
  • Loading branch information
Imaanpreet and asteflova committed Oct 3, 2024
1 parent 0e0f79c commit e388b42
Showing 1 changed file with 4 additions and 12 deletions.
16 changes: 4 additions & 12 deletions guides/common/modules/con_puma-threads.adoc
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`.

0 comments on commit e388b42

Please sign in to comment.