Single server - Best performance


I have 200 puppet client, one Content View for each version of RedHat
(5, 6, 7) with EPEL and all (classic) RedHat repo.

At start, I run Katello with 4 vCPU & 8 Go of memory. Time to publish a
new RPM Content view : >1 hour with many error…

I run now Katello on a server with 8 vCPU (2 core by vCPU) and 16 go of
memory. Time to publish a new RPM Content View : +/- 10-15 minutes max

If we use the default katello config, foreman is very slow and
puppet-run also … and it's very crappy during a long time if you
restart httpd …

Now, I run two httpd server, one with puppet-master only (like a
capsule), and I have change three parameters in httpd config :

  • /etc/httpd-puppetmaster/conf.d/25-puppet.conf :
    PassengerMinInstances 25
    PassengerStartTimeout 600
  • /etc/httpd-puppetmaster/conf/httpd.conf
    MaxKeepAliveRequests 500
  • /etc/httpd-puppetmaster/conf/ports.conf
    Listen 8140

The passenger config can be better.

The second httpd server with foreman, pulp, etc …

  • /etc/httpd/conf/httpd.conf
    MaxKeepAliveRequests 500
  • /etc/httpd/conf/ports.conf
    Listen 443
    Listen 5000
    Listen 80
  • rm /etc/httpd/conf.d/25-puppet.conf

If I increases PassengerMinInstances on foreman, we have a lot of
PGError and katello doesn't work correctly … I have try to increases
also the PostgreSQL connection pool, but it's not conclusive. Maybe I
can try to use the param Passenger Thread Safe to try to solve that …

··· -- Antoine Patte