Configuring OS Network Parameters

Use the following information to help you configure the operating system network parameters and kernel optimization requirements for nodes running MATRIXX.

Kernel Optimization for Memory Parameters

For production environments, MATRIXX requires that you tune the kernel memory parameters to the values described in Kernel Optimization Settings. This is required for Ethernet stability and general operational performance.

Table 1. Kernel Optimization Settings
Memory Parameter Description Value
net.ipv4.tcp_max_syn_backlog Sets the maximum number of remembered connection requests that have not received an acknowledgment from the connecting client. 8192
net.ipv4.tcp_mem Sets the OS buffer size for the TCP protocol, in the format (min, default, max) pages. 2015436, 2225152, 2539724
net.ipv4.tcp_rmem Sets the OS receive buffer size for the TCP protocol, in the format (min, default, max) bytes. 4096, 16777216, 33554432
net.ipv4.tcp_wmem Sets the OS send buffer size for the TCP protocol, in the format (min, default, max) bytes. 4096, 16777216, 33554432
net.ipv4.udp_mem Sets the OS memory limits for the UDP protocol, in the format (min, default, max) pages. 1887436, 2097152, 2411724
net.ipv4.tcp_low_latency The TCP stack makes decisions that prefer lower latency as opposed to higher throughput. This turns off tcp prequeue processing so packets will bypass the prequeue queue and go directly to the receive queue. 1
net.core.netdev_max_backlog Sets the maximum number of packets allowed to queue when the interface receives packets faster than the kernel can process them. This is the number of outstanding syn requests allowed. 250000
net.core.rmem_default Sets the default OS receive buffer size, in bytes, for all types of connections in the format. 16777216
net.core.rmem_max Sets the maximum OS receive buffer size, in bytes, for all types of connections. 33554432
net.core.wmem_default Sets the default OS send buffer size, in bytes, for all types of connections. 16777216
net.core.wmem_max Sets the maximum OS send buffer size, in bytes, for all types of connections. 33554432
net.core.optmem_max Sets the maximum buffer size, in bytes, allowed per socket. 65536

To make these settings on nodes in your cluster, either use the sysctls property in the securityContext of the relevant pod(s) or a DaemonSet. For more information about setting securityContexts, see the discussion about other overrides in MATRIXX Configuration. For more information about the sysctls property, see the discussion about using sysctls in a Kubernetes cluster in Kubernetes documentation at the Kubernetes website.