Netzwerk Perfomance: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 22: Zeile 22:
 
*ss
 
*ss
 
*ethtool
 
*ethtool
=Benchmark vor dem Tunen=
+
=Benchmarkprogramme vor dem Tunen=
 
*netperf
 
*netperf
 
*iperf
 
*iperf
 
*iperf3
 
*iperf3
 +
=Grundlegendes vor Tunning=
 +
*Jedes System ist unterschiedlich (CPU,MEM,NIC,OS)
 +
*Es gibt keine Universallösung
 +
*Man braucht gute Kenntnisse des Systems
 +
*Man muss den Flaschenhals finden
 +
=Pakete werden verworfen=
 +
Das Problem kann an folgenden Punkten liegen:
 +
*NIC
 +
*SOFT IRQ
 +
*Kernel Buffer
 +
*Netwerkschicht (IP,TCP,UDP)
  
 
=Quelle=
 
=Quelle=
 
*https://i0.wp.com/opensourceforu.com/wp-content/uploads/2016/08/Figure-1-Data-receiving-
 
*https://i0.wp.com/opensourceforu.com/wp-content/uploads/2016/08/Figure-1-Data-receiving-
 
process.jpg
 
process.jpg

Version vom 16. November 2019, 15:34 Uhr

Intention

  • Router, Switche, Kabel wurden verbessert
  • Microprozessoren hinken hinten dran
  • Letztendlich muss das Betriebssystem die Daten verarbeiten
  • Darum ist ein präzises Anpassen des Betriebssystem wichtig

Wie verarbeitet das Betriebssystem die Daten

Netzwerk-perfomance-1.jpg

  • Daten werden von der Netzwerkkarte aufgenommen
  • Danach werden sie im Ring Buffer für den Empfang (RX) gespeichert
  • Es gibt auch einen Ring Buffer für das Senden (TX)
  • Wenn der Kernel auf das Paket zugreifen kann löst der Treiber einen Software IRQ aus
  • Dieser veranlasst einen Datenzugriff (DMA)
  • Der Kernel bekommt die Daten in Datenstruktur sk_buff um das Paket bis zur MTU zu halten.
  • Wenn die Kernel Buffer gefüllt sind gehen die Daten an die IP/TCP oder UDP Schicht.
  • Früher löste ein Hard Interupt das Senden aus.
  • Dies wurde durch den Soft Interrupt ersetzt.
  • Dieser wird verwaltet von der New API.

Tools zum Monitoring und Diagnose des Systems

  • ip
  • netstat
  • ss
  • ethtool

Benchmarkprogramme vor dem Tunen

  • netperf
  • iperf
  • iperf3

Grundlegendes vor Tunning

  • Jedes System ist unterschiedlich (CPU,MEM,NIC,OS)
  • Es gibt keine Universallösung
  • Man braucht gute Kenntnisse des Systems
  • Man muss den Flaschenhals finden

Pakete werden verworfen

Das Problem kann an folgenden Punkten liegen:

  • NIC
  • SOFT IRQ
  • Kernel Buffer
  • Netwerkschicht (IP,TCP,UDP)

Quelle

process.jpg