Best practices for masters and relays deployed on Linux
Before you begin
Ensure that you have applied the Linux OS updates.
Common OS updates are often applied with the following command lines:
- RHEL: $ sudo yum update
- Debian/Ubuntu: $ sudo apt-get update && sudo apt-get dist-upgrade
As of 12.9, it is not mandatory to have all the latest updates. The fontconfig is important. For more information, see this Knowledge Article (KA): Client Management: Graphs are not generated in reports.
To improve the performance of masters and relays on a Linux platform
Use Tuned to improve the performance. Tuned is a profile-based system tuning tool that uses the udev device manager to monitor connected devices and enables both static and dynamic tuning of system settings. Tuned is also available for Debian and Ubuntu distributions and it drastically improves the performance.
The tuned-adm command requires the tuned package (if not already installed). To install the package, run the following command.
# yum install -y tunedA tuning profile consists of a list of system changes corresponding to a specific requirement. To get the list of the available tuning profiles, run the following command.
# tuned-adm listThe following profiles are available:
- latency-performance
- network-latency
- network-throughput
- powersave
- throughput-performance
- virtual-guestThe throughput performance profile disables tuned and ktune power saving mechanisms, enables sysctl settings that improve the throughput performance of your disk and network I/O, and switches to the deadline scheduler. The CPU governor is set to the performance mode.
network-throughput is the the recommended profile. It includes the throughput-performance profile and increases network stack buffer sizes.
To create a custom tuned profile for BCM, create the bcm-performance directory at /etc/tuned and run the following command.
# mkdir /etc/tuned/bcm-performanceCreate the tuned.conf file at the bcm-performance directory and use throughput-performance as the basis and add additional tuning requirements.
# vi /etc/tuned/bcm-performance/tuned.confPaste the following lines in the tuned.conf file.
[main]
include=network-throughput
[sysctl]
fs.file-max = 209708
net.ipv4.tcp_max_syn_backlog = 5000
net.ipv4.tcp_tw_recycle = 0Save the file (:wq) and run the following command to validate the changes and then enable the new profile.
# tuned-adm profile bcm-performanceRestart the tuned service:
# systemctl restart tunedTo check new configuration, check the /var/log/tuned/tuned.log file.
After a successful deployment of this profile, you need to set Linux ulimit settings.
Configure the maximum number of open files.
Linux ulimits
Tuned does not set Linux ulimit settings, the default limits are almost always too low. In most cases, a limit of 64,000 max user processes and 64,000 open files (both have defaults of 1024) suffice. You can deploy these limits by adding them in /etc/security/limits.conf.# vi /etc/security/ limits.conf
root soft nproc 64000
root hard nproc 64000
root soft nofile 64000
root hard nofile 64000Save the file (:wq), reboot the device and run the following commands to validate the changes:
ulimit -Hn
ulimit -SnThe value returned for each command must be 64000.
Edit both /etc/systemd/system.conf and /etc/systemd/user.conf in order to add the following line under the [Manager] section:
DefaultLimitNOFILE=65535- Save the files (:wq).
Filesystem type and mount options: We recommend using dedicated disk for BCM master and relay and the EXT4 filesystem with option noatime, nodiratime barrier=0 or XFS filesystem with option noatime. This needs to be done manually in /etc/fstab. You have to set the recommended values at least on the partition where the master or the relay is installed.
Example for ext4:
# vi /etc/fstab
UUID=c49aabe6-8889-4f27-98e7-c155edaaf6ed / ext4 noatime, nodiratime barrier=0 1 2Example for XFS:
# vi /etc/fstab
UUID=c49aabe6-8889-4f27-98e7-c155edaaf6ed / xfs noatime 1 2For performance reasons in a WAN environment, set the following parameters for a master or a relay and clients.
mtxagent.ini set:
DefaultTimeout=30
DefaultConnectTimeout=30
ConnectionQueueMaxSize=50
TunnelTimeout=120If you have any questions, please contact BMC customer support.