Linux/Network Performance Optimisation

  1. Increase txqueuelen of the interfaces.
$ ifconfig eth0 txqueuelen 5000
  1. 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

  1. Disable Segmentation and Checksum
$ ethtool -K eth0 gso off
$ ethtool -K eth0 tso off
$ ethtool -K eth0 ufo off

Reference

  1. Linux Web Server Kernel Tuning
  2. Optimizing System Performance for SIP servers
  3. Linux TCP Tunning
  4. Kamailio TCP Tunning

Enjoy ;)

How to resize any VMs Hard disk size

Pre-Requiste First Confirm if your Linux machine was created using LVM or not, execute the following commands pvdisplay vgdisplay lvdisplay ...