White Papers

Performance tuning
43 Dell EMC SC Series: Red Hat Enterprise Linux Best Practices | CML1031
unnecessarily high levels of I/O control traffic as well as raised CPU loads, causing an increase in I/O latency
and potentially impacting business-critical I/O.
An alternative to this implementation is using the fstrim command. The fstrim command is part of the util-
linux package and allows a one-time request to discard used blocks from a mounted filesystem. This
command can be scripted (shown in the following sample script), injected into a scheduled cron job, and then
applied to a set of mounted filesystems in batch during a time of day that would have less impact to business-
critical functions.
#!/bin/bash
FSTrim=/usr/bin/fstrim
MntPoints="u01 u02 u03 u04 u05"
for i in ${MntPoints}
do
echo "INFO: Applying ${FSTrim} to mount point ${i}"
${FSTrim} -v /${i}
done
4.5 SCSI device queue settings
Several Linux SCSI device queue settings can be applied to tune performance. The more common ones are
listed in the following sections with a brief explanation of what each parameter does with regard to I/O. These
values are found in the /sys/block/dm-X/queue directory (multipath devices) and /sys/block/sdX/queue
directory (block devices) and should be modified for each path device for the intended multipath volume.
4.5.1 I/O scheduler
The /sys/block/<device>/queue/schedule parameter and its contents define the I/O scheduler in use by the
Linux kernel for SCSI devices. Some application vendors (such as Oracle) provide specific recommendations
for which I/O scheduler to use in order to achieve optimal performance with the application platform. The
default scheduler varies on different versions of RHEL. Table 1 summaries the available schedulers and the
preferred schedulers to use with SC Series storage system. The scheduler in use is denoted by the [] bracket.
It is recommended to use deadline or mq-deadline scheduler for all SC Series array implementations. The
scheduler can be further configured by writing directly to the devices’ sysfs file (such as fifo_batch,
read_expire, and write_expire) that are discussed in the Performance Tuning Guide on the Red Hat
Enterprise Linux Document Portal.
Preferred I/O schedulers
RHEL 6 and older
RHEL 7
noop anticipatory [deadline] cfq
noop [deadline] cfq
Note: RHEL 8 supports a new multi-queue deadline scheduling on block devices. Multi-queue deadline
scheduling allows better block layer performance with SSDs and multi-core systems.