Network setup
A single 10G network link using modified settings was used for communication to the storage servers. Each LPAR utilized a different physical OSA network adapter card.
The network settings were modified using information obtained from KVM Network Performance - Best Practices and
Tuning Recommendations
(https://www.ibm.com/docs/en/linux-on-systems?topic=kvm-network-performance-best-practices-tuning-recommendations).
The tuning was applied through two files. One file adjusted the sysctl values as shown in Figure 1. The second file added a udev rule file to adjust the transmit queue and MTU values Figure 2.
The sysctl.conf file Figure 1 configured with an rmem/wmem maximum value of 16M and a fin_timeout of 10 seconds. In the measurement environment the default congestion control is cubic, so it was not set through the systctl file.
$ cat /etc/sysctl.d/90-sysctl-netbp-example.conf net.core.netdev_max_backlog = 25000 net.ipv4.tcp_fin_timeout = 1 net.ipv4.tcp_max_tw_buckets = 450000 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 16384 16777216 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_limit_output_bytes = 131072 net.ipv4.tcp_low_latency = 0 net.ipv4.ip_forward=1
$ cat /etc/udev/rules.d/etc/udev/rules.d/90-netbp-settings-examples.rules # # Replace "10G_NET_DEV" with actual network device name. # Set MTU and txqueuelen # KERNEL=="<10G_NET_DEV>", RUN+="/sbin/ip link set %k txqueuelen 2500" KERNEL=="<10G_NET_DEV>", RUN+="/sbin/ip link set %k mtu 8192"