Apply specific kernel network tuning parameters to the OpenShift profile (/profiles/openshift/tuned.conf) to support high bandwidth-delay product links. The following TCP settings are added: net.ipv4.tcp_notsent_lowat=131072: Sets tcp_notsent_lowat to a value intended to balance throughput and latency while limiting total socket memory usage. net.ipv4.tcp_slow_start_after_idle=0: Disables slow start after a connection has been idle, allowing immediate maximum throughput upon resuming data transfer. net.ipv4.tcp_rmem="4096 131072 16777216": Increases the maximum TCP receive buffer size to improve performance on high-bandwidth-delay product connections. net.ipv4.tcp_wmem="4096 16384 16777216": Increases the maximum TCP send buffer size for similar reasons. These changes are based on work done by Cloudflare for improving TCP performance on high bandwidth-delay product links but are more conservative in adjusting rmem and wmem Reference: https://blog.cloudflare.com/optimizing-tcp-for-high-throughput-and-low-latency/ Signed-off-by: Graham Heffern <gheffern@gmail.com>
40 lines
1 KiB
Text
40 lines
1 KiB
Text
#
|
|
# tuned configuration
|
|
#
|
|
|
|
[main]
|
|
summary=Optimize systems running OpenShift (parent profile)
|
|
include=${f:virt_check:virtual-guest:throughput-performance}
|
|
|
|
[selinux]
|
|
avc_cache_threshold=8192
|
|
|
|
[net]
|
|
nf_conntrack_hashsize=1048576
|
|
|
|
[sysctl]
|
|
kernel.pid_max=>4194304
|
|
fs.aio-max-nr=>1048576
|
|
net.netfilter.nf_conntrack_max=1048576
|
|
net.ipv4.conf.all.arp_announce=2
|
|
net.ipv4.tcp_notsent_lowat=131072
|
|
net.ipv4.tcp_slow_start_after_idle=0
|
|
net.ipv4.tcp_rmem="4096 131072 16777216"
|
|
net.ipv4.tcp_wmem="4096 16384 16777216"
|
|
net.ipv4.neigh.default.gc_thresh1=8192
|
|
net.ipv4.neigh.default.gc_thresh2=32768
|
|
net.ipv4.neigh.default.gc_thresh3=65536
|
|
net.ipv6.neigh.default.gc_thresh1=8192
|
|
net.ipv6.neigh.default.gc_thresh2=32768
|
|
net.ipv6.neigh.default.gc_thresh3=65536
|
|
vm.max_map_count=262144
|
|
|
|
[sysfs]
|
|
/sys/module/nvme_core/parameters/io_timeout=4294967295
|
|
/sys/module/nvme_core/parameters/max_retries=10
|
|
|
|
[scheduler]
|
|
# see rhbz#1979352; exclude containers from aligning to house keeping CPUs
|
|
cgroup_ps_blacklist=/kubepods\.slice/
|
|
# workaround for rhbz#1921738
|
|
runtime=0
|