Foreman Performance Tuning

Hello Team,

Foreman+Katello server version – (Version 2.3.1).

We had setup foreman + katello server for Centos Patching. we have around 1k centos machines onboarded to foreman. whenever we update the packages from foreman GUI, it is taking more time to do it and also GUI is responding slow.
How can i fine tune my foreman and database to increase the performance? what are the configuration changes and database needs to be done to run it smoother?

Also when we run update a single package from GUI which is in the size of KB’s, It’s taking more time to download and update the package on target machines even though the foreman server and target machines are in the same local network? what could be the reason for that? how could i make it bit faster?

Could you please guys help on tuning the performance of foreman server?

Thanks in Advance!!!


you can just use Red Hat Satellite product guides to find the relevant info. Red Hat Portal needs (free) Red Hat account, you can create a Developer Account to access the content:

@mcorr these guides could be in official (upstream + downstream) docs some day I guess, I do not understand why these are kept separate

@lzap the tuning guide proved impossible for docs to maintain so it got moved to support. There were many reasons but I’m certain that it won’t return to the doc’s team for the foreseeable future.

Oh okay I see. With upstream guides maybe we could offer the authors to move and maintain the content in our repo?!

:-1: from me. That guide was a nightmare and always out of date. Support are doing a better job than docs did.

Sure, then let’s probably add a link to the index page:

1 Like

Note that the Satellite performance tuning 6.8 doesn’t really apply to Foreman 2.3. First of all, Passenger has been replaced by Puma so that whole section is irrelevant.

To tune the number of workers, --foreman-foreman-service-puma-workers can be used. The default is 2, but this can be increased. There’s a good chance that it’s waiting for other workers if there’s sufficient CPU time free and PostgreSQL isn’t overloaded. Note that each worker has a thread pool (default max 16, configurable via --foreman-foreman-service-puma-threads-max).

Also note that in Foreman 2.4 we’ve upgrade Puma to version 5 which has brought additional performance improvements. They may help.

The other part is that Pulp 3 hasn’t made it to Satellite yet so no tuning advice on that either in the tuning guide.


I think it could be a good idea is to move the upstream document (I think support team either have OpenOffice or Google doc) into our documentation repo (or just the gdoc link) so engineers and community could participate. Ewoud already have ton of relevant info that is missing.

TIL the guide is available for contributions on github:

@lzap @mcorr Do you see any chance of including the performance tuning guide in foreman-documentation in the foreseeable future? If so, I would love to create a PR to include the content.

cc @Imaanpreet as you are the top contributor.

Hey @maximilian - if the maintainers of that doc are happy to migrate and continue to maintain it in the upstream for Foreman&Katello scenario, I am fine with it going there.
I know from experience that from a docs’ team perspective, this was virtually impossible to maintain.

I’ve created an issue on github with my proposal. Let’s see where this goes.

1 Like

I have no objections, would be great to note the authors about this if they like to continue contributions in there. Let me arrange this and send some emails.

1 Like