Chapter 5. Configuring Satellite Environment for Performance CPU The more physical cores that are available to Satellite, the higher throughput can be achieved for the tasks. Some of the Satellite components such as Puppet and PostgreSQL are CPU intensive applications and can really benefit from the higher number of available CPU cores. Memory The higher amount of memory available in the system running Satellite, the better will be the response times for the Satellite operations. Since Satellite uses PostgreSQL as the database solutions, any additional memory coupled with the tunings will provide a boost to the response times of the applications due to increased data retention in the memory. Disk With Satellite doing heavy IOPS due to repository synchronizations, package data retrieval, high frequency database updates for the subscription records of the content hosts, it is advised that Satellite be installed on a high speed SSD so as to avoid performance bottlenecks which may happen due to increased disk reads or writes. Satellite requires disk IO to be at or above 60 - 80 megabytes per second of average throughput for read operations. Anything below this value can have severe implications for the operation of the Satellite. Satellite components such as PostgreSQL benefit from using SSDs due to their lower latency compared to HDDs. Network The communication between the Satellite Server and Capsules is impacted by the network performance. A decent network with a minimum jitter and low latency is required to enable hassle free operations such as Satellite Server and Capsules synchronization (at least ensure it is not causing connection resets, etc). Server Power Management Your server by default is likely to be configured to conserve power. While this is a good approach to keep the max power consumption in check, it also has a side effect of lowering the performance that Satellite may be able to achieve. For a server running Satellite, it is recommended to set the BIOS to enable the system to be run in performance mode to boost the maximum performance levels that Satellite can achieve. 5.1. Benchmarking Disk Performance We are working to update satellite-maintain to only warn the users when its internal quick storage benchmark results in numbers below our recommended throughput. Also working on an updated benchmark script you can run (which will likely be integrated into satellite-maintain in the future) to get a more accurate real-world storage information. Note You may have to temporarily reduce the RAM in order to run the I/O benchmark. For example, if your Satellite Server has 256 GiB RAM, tests would require 512 GiB of storage to run. As a workaround, you can add mem=20G kernel option in grub during system boot to temporary reduce the size of the RAM. The benchmark creates a file twice the size of the RAM in the specified directory and executes a series of storage I/O tests against it. The size of the file ensures that the test is not just testing the filesystem caching. If you benchmark other filesystems, for example smaller volumes such as PostgreSQL storage, you might have to reduce the RAM size as described above. If you are using different storage solutions such as SAN or iSCSI, you can expect a different performance. Red Hat recommends you to stop all services before executing this script and you will be prompted to do so. This test does not use direct I/O and will utilize file caching as normal operations would. You can find our first version of the script storage-benchmark . To execute it, just download the script to your Satellite, make it executable, and run: As noted in the README block in the script, generally you wish to see on average 100MB/sec or higher in the tests below: Local SSD based storage should give values of 600MB/sec or higher. Spinning disks should give values in the range of 100 - 200MB/sec or higher. If you see values below this, please open a support ticket for assistance. For more information, see Impact of Disk Speed on Satellite Operations . 5.2. Enabling Tuned Profiles Red Hat Enterprise Linux 7 enables the tuned daemon by default during installation. On bare-metal, Red Hat recommends to run the throughput-performance tuned profile on Satellite Server and Capsules. On virtual machines, Red Hat recommends to run the virtual-guest profile. Procedure Check if tuned is running: If tuned is not running, enable it: Optional: View a list of available tuned profiles: Enable a tuned profile depending on your scenario: Transparent Huge Pages is a memory management technique used by the Linux kernel which reduces the overhead of using Translation Lookaside Buffer (TLB) by using larger sized memory pages. Due to databases having Sparse Memory Access patterns instead of Contiguous Memory access patterns, database workloads often perform poorly when Transparent Huge Pages is enabled. To improve performance of PostgreSQL, disable Transparent Huge Pages. In deployments where the PostgreSQL database is running on a separate server, there may be a small benefit to using Transparent Huge Pages on the Satellite Server only. For more information to disable Transparent Huge Pages, see How to disable transparent hugepages (THP) on Red Hat Enterprise Linux 7, 8 .

Commands:
./storage-benchmark /var/lib/pulp
systemctl status tuned
systemctl enable --now tuned
tuned-adm list
tuned-adm profile " My_Tuned_Profile "