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.
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.