Network Performance Fine Tuning in openSUSE & SUSE
Posted by admin on October 8th, 2008
The parameters that we focus to improve performance are
net.core.rmem_max
Sets the Maximum Socket Receive Buffer for all protocols
net.core.wmem_max
sets the Maximum Socket Send Buffer for all protocols
net.ipv4.tcp_rmem
Sets the Maximum Socket Receive Buffer for TCP Protocol (overides the defaults set by net.core.rmem_default)
net.ipv4.tcp_wmem
Sets the Maximum Socket Send Buffer for TCP Protocol (overides the defaults set by net.core.wmem_default)
net.ipv4.tcp_no_metrics_save
Enables/Disables the behaviour of cachek performance charecteristics connection. By default, Linux Kernel remembers connection performance and congestion charecteristics.
net.ipv4.tcp_reordering
Sometimes, packet reordering in a network can be interpreted as packet loss and hence increasing the value of this parameter should improve performance (default is “3″)
net.ipv4.tcp_congestion_control
You can set this to one of the manu available high speed congestion variants like “cubic” “hs-tcp” (default is “reno”)
Before we set the values, lets look at the current values.
The following displays a long list of current values set for the Kernel Paramters.
opensuse11:~ # sysctl -a
To view the values of interest here
opensuse11:~ # sysctl -a | egrep “rmem|wmem|tcp_congestion|reordering|metrics”| egrep -v “default|udp|lowmem”
net.ipv4.tcp_reordering = 3
net.ipv4.tcp_wmem = 4096 16384 4194304
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_no_metrics_save = 0
net.ipv4.tcp_congestion_control = reno
net.core.wmem_max = 131071
net.core.rmem_max = 131071
We can set the values are as follows:
net.ipv4.tcp_reordering = 20
net.ipv4.tcp_wmem = 8192 87380 16777216
net.ipv4.tcp_rmem = 8192 87380 16777216
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_congestion_control = cubic
net.core.wmem_max = 16777216
net.core.rmem_max = 16777216
To set the values to be set at boot time, we need to edit the file “/etc/sysctl.conf” and add the above lines. However, this will not take effect immediatly. To make the changes to take effect immediatly,
opensuse11:~ # sysctl -p /etc/sysctl.conf
Alternatively, you can set one parameter value at a time as follows:
opensuse11:~ # sysctl -w net.ipv4.tcp_reordering=20
opensuse11:~ # sysctl -w net.ipv4.tcp_wmem=”8192 87380 16777216″
opensuse11:~ # sysctl -w net.ipv4.tcp_rmem=”8192 87380 16777216″
opensuse11:~ # sysctl -w net.ipv4.tcp_no_metrics_save=1
opensuse11:~ # sysctl -w net.ipv4.tcp_congestion_control=cubic
opensuse11:~ # sysctl -w net.core.wmem_max=16777216
This should improve Network Performance on your SuSE or openSUSE Linux.
