Home > OEL und OVM > TCP Netzwerk Tuning

TCP Netzwerk Tuning

Oracle Enterprise Linux   Oracle VM

Linux/OVM Netzwerk Tuning

Die eine für alles optimale Netzwerktuningeinstellung gibt es nicht. Es gibt verschiedene Ansätze, Empfehlungen und Tipps, wir haben hier einige Empfehlungen zusammen getragen, mit denen wir recht gute Ergebnisse erreichen konnten.

Einstellungen für physische Linux / Oracle VM Server

Die folgenden Einstellungen in /etc/sysctl.conf sind für physische Linux Server gedacht - und gelten somit auch für Oracle VM Server.

 

net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.ipv4.tcp_rmem = 4096 1048576 134217728
net.ipv4.tcp_wmem = 4096 1048576 134217728
net.ipv4.tcp_congestion_control=reno
net.ipv4.tcp_timestamps=0
net.ipv4.tcp_sack=0 ## nur wenn das Netzwerk 100pct stabil ist
net.ipv4.tcp_fin_timeout=15
net.core.netdev_max_backlog = 300000
net.ipv4.tcp_moderate_rcvbuf = 1

 

Sofern auf dem Linux die Module für "Congestion Control" vorhanden sind - das lässt sich mittels folgender Befehle verifizieren - kann man auch auf die CUBIC Congestion Control umstellen:

 

modprobe tcp_htcp
modeprobe tcp_cubic

 

Dafür ist dann noch folgender Eintrag im /etc/sysctl.conf nötig:

 

net.ipv4.tcp_congestion_control=cubic ### statt reno

 

Leider nicht über die Systemeinstellungen geht die maximale Queue Länge für ausstehende Netzwerkpakete. Diese stellt man für jede Netzwerkkarte wie folgt ein.

 

ifconfig ethx txqueuelen 10000

 

Einstellungen für Xen virtualisierte Linux Gastsysteme

Werte für /etc/sysctl.conf:

 

net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.rmem_default = 1048576
net.core.wmem_default = 1048576
net.ipv4.tcp_rmem = 4096 1048576 16777216
net.ipv4.tcp_wmem = 4096 1048576 16777216
net.ipv4.tcp_congestion_control = bic

 

Wie schon zuvor, muss man noch die maximale Queue Länge für ausstehende Netzwerkpakete erhöhen:

 

ifconfig ethx txqueuelen 5000

 

Quellen

Bei unseren Suchen nach den besten Einstellungen haben wir viele Quellen genutzt - hier eine Auswahl:

  • Oracle Doc ID 1636393.1 Poor NFS/Network IO Performance When Using Bonding in mode=4 or 802.3ad
  • Oracle Doc ID 1519875.1 Oracle VM 3: 10GbE Network Performance Tuning
  • Oracle Datenbank Installation Guide von Oracle 11gR2 und Oracle 12c
  • Oracle Validated / Recommended Linux Configuration RPMs
  • http://wiki.xen.org/wiki/Network_Throughput_and_Performance_Guide
  • Diverse Linux TCP/IP Tuning Tipps und Tricks