Red Hat Satellite 6 Performance Tuning: OS and Web Performance
Satellite 6 is the next generation Linux systems management tool and is the combined product of many open source projects, including Foreman, Katello, Pulp, Candlepin, and Puppet. Since all of these projects bring different features and functionality, the performance of your Satellite 6 server is essential.
This post covers two simple ways to immediately improve performance for the Satellite 6 Server:
- Changing your OS tuned profile
- Adding an Apache KeepAlive directive to the web configuration
Operating System Tuning
The fastest way to get a large bump in performance with a bare-metal Satellite 6 server on RHEL 6 is to install tuned and enable the throughput-performance profile. Tuned is a daemon that applies dynamic and static system configuration tunings. Red Hat Linux tuned ships with several pre-defined profiles for common use cases. Tests have shown many Satellite 6 tasks require less time to complete by taking advantage of the performance cpu governor setting that is tuned with the tuned throughput-performance profile. If your Satellite machine is a virtual machine installed on RHEV, then you receive tuned and the virtual-guest profile if you have installed the rhev guest agent.
If you have deployed Satellite 6 on Red Hat Enterprise Linux 7, then you have already received this benefit as Red Hat Enterprise Linux 7 ships with tuned installed and automatically configures the throughput-performance profile on bare metal servers and virtual-guest profile on virtual machines.
From the above graph, installing tuned and setting the throughput-performance profile reduces latency in syncing content greatly. The larger the repository, the greater the improvement. At 256 RPMs, throughput-performance profile reduces the latency by 29%; at 2048 RPMs, you save almost 40%. Many other tasks benefit greatly from the throughput-performance profile.
User Interface Tuning
Apache’s KeepAlive directive allows multiple requests to reuse the same connection for more efficient UI transactions in most cases. This ultimately reduces the amount of time spent by your web browser opening and closing connections to retrieve content off of the Satellite 6 Server.
Stay tuned for the next post, which covers capacity planning and tuning.
Great suggestions. I immediately thought, "Why didn't I think of this..." I'll give this a try on my laptop as well because I use it for demos and as an infrastructure system for my home computer lab and customer workshops.
On RHEL 6.6 Server:
1) # yum -y install tuned
2) # chkconfig tuned on
3) # chkconfig ktune on
4) # service tuned start
5) # service ktune start
6) # tuned-adm list
7) # tuned-adm active
8) # tuned-adm profile throughput-performance
Which tune profile must I use if my Satellite 6 server is running on a virtual guest on a VMware ESX hypervisor ?
Many thanks in advance
"virtual-guest" would be a good starting point but as usual, if you want to know what is best for _your_ environment, bench marking is the way to go.
I've tried default settings with 8GB RAM and default tune profile (virtual-guest on ESX). Following your suggestions, I've added 4GB of RAM, changed the tune profile and enabled KeepAlive. Results are amazing: 50% lower total execution time of our setup. I explicitly say "our setup" since it's hard to compare Satellite installations 1-on-1.
I'm curious about your next post, which could cover capacity planning and more tuning?
Hi there, could you kindly explain differently? It says "The fastest way to get a large bump in performance with a bare-metal Satellite 6 server on RHEL 6 is to install tuned and enable the throughput-performance profile.", then "If you have deployed Satellite 6 on Red Hat Enterprise Linux 7, then you have already received this benefit as Red Hat Enterprise Linux 7 ships with tuned installed and automatically configures the throughput-performance profile on bare metal servers and virtual-guest profile on virtual machines."
I don't understand because we haven't received a benefit in RHEL7 with the tuned-adm profile set as a virtual-guest (because the first sentence says the performance is with the other profile throughput-performance).
It's a bit confusing, especially that the tuned-adm recommend shows the virtual-guest profile (as it's a VM).
So are we supposed to select the throughput-performance or we should not when having the virtual-guest profile?