The loss of TCP segments occur because the TCP traffic may have reached one of the following limits:
- The maximum send buffer size (default: 8 MB).
- The maximum receive buffer size (default: 8 MB).
- The maximum number of packets in the global input queue for the NIC (default: 1024).
These limits are tuning parameters.
To change the limits:
- Log on to IWSVA as root via SSH (for example with a SSH shell such as PuTTy).
-
Get a backup copy of /etc/sysctl.conf:
# cp /etc/sysctl.conf /etc/sysctl.conf.bak
-
Use vi to edit the file /etc/sysctl.conf:
# vi /etc/sysctl.conf
-
Change the following values:
-
The maximum send buffer size:
[Settings (default)]
---------------------------------- net.core.wmem_max=8388608 net.ipv4.tcp_wmem=4096 262144 4194304 ----------------------------------
For example: Increase size from 8 MB (default) to 32 MB.
---------------------------------- net.core.wmem_max=33554432 net.ipv4.tcp_wmem=4096 262144 33554432 ----------------------------------
-
The maximum receive buffer size:
[Settings (default)]
---------------------------------- net.core.rmem_max=8388608 net.ipv4.tcp_rmem=4096 262144 4194304 ----------------------------------
For example: Increase the size from 8 MB (default) to 32 MB.
---------------------------------- net.core.rmem_max=33554432 net.ipv4.tcp_rmem=4096 262144 33554432 ----------------------------------
-
The maximum number of packets in the global input queue for the NIC (default: 1024):
[Setting (default)]
---------------------------------- net.core.netdev_max_backlog=1024 ----------------------------------
For example: Increase the size from 1024 (default) to 4096.
---------------------------------- net.core.netdev_max_backlog=4096 ----------------------------------
-
- Save the file and quit.
-
Run the following command.
# sysctl –p