Puma thread optimization, installation command

Hi All

I am managing a foreman instance with my current employer, I am finding myself in a situation where I need to optimize the puma thread counts as the automatic optimization was performed with a reduced CPU and Memory allocation resulting in insufficient threads and causing slow UI operation.

The CPU allocation is 4 Virtual Cpus and running on 24gb of Ram, there are 100 endpoints at this stage.

according to the tuning documentation these are the commands i run

foreman-installer \

–foreman-foreman-service-puma-workers=6
–foreman-foreman-service-puma-threads-min=6
–foreman-foreman-service-puma-threads-max=16

My question is can this installer command be run to modify these values on an existing deployment or will that clear all the other configurations that are currently set up in the environment?

Basically wanting to make sure that running these commands doesn’t act as a factory reset and remove the existing configuration.

Hi,

short answer: yes, it is save to run that command on an existing Foreman installation as long as you have not made manual changes to any config files the installer manages.

Longer answer: foreman-installer uses Puppet and hiera in the background to configure your system. The parameters you give the installer (along with a long list of default values) will be saved by the installer in /etc/foreman-installer/scenarios.d/-answers.yml and will be reused on every future run. So every time you need to run the installer, you will only ever need to specify new options for things you want to change and all other options will be kept. (Some exceptions apply, like log level and no-op mode will not be saved to my knowledge, but all options that actually cause the system to change will)

In case you want to be extra cautious or do not know if someone manually changed configs the installer manages, you can use the --verbose, --verbose-log-level and --noop options for a verbose dry-run to see what the installer would change beforehand. Check foreman-installer --full-help for details on those options.

3 Likes