Appendix A. Large Deployment Considerations
Increasing the Maximum Number of File Descriptors for Apache
With more than 800 content hosts registered, Apache can reach several system-level limits, resulting in new content host registration failure. To avoid this, file descriptor limits must be increased before deploying a large number of content hosts.
On Red Hat Enterprise Linux 7, create the
/etc/systemd/system/httpd.service.d/limits.conf
file and insert the following text:[Service] LimitNOFILE=65536
Apply the changes to the unit.
# systemctl daemon-reload
Restart Katello services.
# katello-service restart
Increasing the Maximum Number of File Descriptors for qpid
With more than 1100 content hosts with goferd running for errata updates, the qpid reach system-level limits, resulting in registration failures. To avoid this, file descriptors limits must be increased before deploying a large number of content hosts.
Increasing the Maximum Number of File Descriptors for qpid Using Red Hat Enterprise Linux 7
Create the
/etc/systemd/system/qpidd.service.d/limits.conf
file and insert the following text:[Service] LimitNOFILE=65536
Apply the changes to the unit.
# systemctl daemon-reload # systemctl restart qpidd.service
Increasing the Maximum Number of File Descriptors for qpid Using Red Hat Enterprise Linux 6
Edit the
/etc/security/limits.conf
file and insert the following text:qpidd - nofile 65536
Restart the qpidd service.
# service qpidd restart
Increasing the Shared Buffer and Work Memory
You can increase the shared_buffer
and work_mem
to 256M and 4M respectively.
On Red Hat Enterprise Linux 7, create the
/var/lib/pgsql/data/postgresql.conf
file and insert the following text:work_mem = 4MB shared_buffers = 256MB
Restart postgresql services.
# service postgresql restart
Increasing Concurrent Content Host Registrations
To avoid reaching system-level limits, you can increase the global passenger queue limit to accommodate up to 250 concurrent content hosts.
Adjust the maximum passenger pool size to 1.5 times the physical CPU cores available to the Satellite Server.
For example, if you have a Satellite Server with 16 cores, then the maximum passenger pool size is 24. This number is referenced as an example and you should use the number applicable to your environment.
Edit the
/etc/httpd/conf.d/passenger.conf
file, updating the IfModule stanza to match the following text:<IfModule mod_passenger.c> PassengerRoot /usr/share/gems/gems/passenger-4.0.18/lib/phusion_passenger/locations.ini PassengerRuby /usr/bin/ruby PassengerMaxPoolSize 24 PassengerMaxRequestQueueSize 200 PassengerStatThrottleRate 120 </IfModule>
Edit the Foreman Passenger application configuration file
/etc/httpd/conf.d/05-foreman-ssl.conf
, updating the stanza starting with PassengerAppRoot to match the following text:PassengerAppRoot /usr/share/foreman PassengerRuby /usr/bin/tfm-ruby PassengerMinInstances 6 PassengerStartTimeout 90 PassengerMaxPreloaderIdleTime 0 PassengerMaxRequests 10000 PassengerPreStart https://example.com
Edit the Puppet Passenger application configuration file
/etc/httpd/conf.d/25-puppet.conf
, adding the following text to the end of the virtual host definition:PassengerMinInstances 6 PassengerStartTimeout 90 PassengerMaxPreloaderIdleTime 0 PassengerMaxRequests 10000 PassengerPreStart https://example.com:8140
Change the maximum connections in the
/var/lib/pgsql/data/postgresql.conf
file.max_connections = 500
Restart postgresql services.
# service postgresql restart
Increasing the maximum number of open files for qdrouterd
With more than 1000 content hosts registered, qdrouterd can reach the default maximum number of open files. To avoid this, increase the maximum number of open files on the Satellite Server and all external Capsule Servers.
Calculate the required maximum number of open files, using the following equation.
(3 x number of content hosts) + 100
For example, with 1020 content hosts, the new maximum should be set to 3160 ((3 x 1020) + 100).
On Red Hat Enterprise Linux 7, create the file
/etc/systemd/system/qdrouterd.service.d/limits.conf
and add the following text.[Service] LimitNOFILE=maximum_number_of_files
Apply the changes to the unit.
# systemctl daemon-reload
Restart the Satellite services.
# katello-service restart
On Red Hat Enterprise Linux 6, edit the file
/etc/security/limits.conf
and add the following line.qdrouterd - nofile maximum_number_of_files
Add the new line before the
# End of file
line because anything past that is ignored.Restart the qdrouterd service.
# service qdrouterd restart