- Increase txqueuelen of the interfaces.
$ ifconfig eth0 txqueuelen 5000
- increase following kernel params
$ systcl -w net.core.rmem_max = 33554432
$ systcl -w net.core.wmem_max = 33554432
$ systcl -w net.ipv4.tcp_rmem="4096 87380 33554432"
$ systcl -w net.ipv4.tcp_wmem="4096 65536 33554432"
$ sysctl -w net.ipv4.tcp_window_scaling=1
$ sysctl -w net.ipv4.tcp_timestamps=1
$ sysctl -w net.ipv4.tcp_sack=1
$ sysctl -w net.ipv4.udp_rmem_min = 8192
$ sysctl -w net.ipv4.udp_wmem_min = 8192
for the parameter's description click here
- Disable Segmentation and Checksum
$ ethtool -K eth0 gso off
$ ethtool -K eth0 tso off
$ ethtool -K eth0 ufo off
Reference
- Linux Web Server Kernel Tuning
- Optimizing System Performance for SIP servers
- Linux TCP Tunning
- Kamailio TCP Tunning
Enjoy ;)