Content
Mini-Howto für Tests der Netzwerkgeschwindigkeit
Es taucht immer wieder die Frage auf, warum die Netzwerkgeschwindigkeit bei fli4l/eisfair nicht zufrieden stellend ist.
Leider fehlen für eine Analyse immer die notwendigen Angaben, um dem Problem nach zu gehen.
Für dieses Problem gibt es viele mögliche Ursachen z.B. zu langsame Hardware,
falsche Netzwerktopologie oder falsche Konfiguration des Servers.
Bei Fragen zu diesem Thema in den Newsgroups UNBEDINGT die Ergebnisse der unten aufgeführten Performance-Tests sowie die Netztopologie und die verwendete Hardware und Software (OPTs, Packages) mit ins Posting setzen!
Um die Ursache des Problems zu finden, sind einige kurze Schritte notwendig,
die hier wie folgt beschrieben werden:
1. Überprüfen des Power-Management
Bei eingeschaltetem Power-Management kommt es immer wieder zu den verschiedensten Problemen
(Performance-Einbrüche bis zu Abstürzen).
Deshalb als erstes im BIOS Überprüfen, ob das Power-Management eingeschaltet ist und ggf. dort ausschalten.
2. Prüfen der Netzwerkgeschwindigkeit
Das geht am einfachsten mit dem Programm netio
Die aktuelle Version kann hier heruntergeladen werden (z.B. netio126.zip).
Für fli4l gibt es netio im OPT_NETTOOLS.
Das ZIP-Archiv enthält sowohl eine Linux-, als auch eine Windows-Version.
Als Ergebnis gibt es dann einen solchen Output (100MBit-Netzwerk):
NETIO - Network Throughput Benchmark, Version 1.17
(C) 1997-2001 Kai Uwe RommelTCP/IP connection established.
Packet size 1 KByte: 7699 KByte/s Tx, 11299 KByte/s Rx.
Packet size 2 KByte: 9054 KByte/s Tx, 11527 KByte/s Rx.
Packet size 4 KByte: 9051 KByte/s Tx, 11538 KByte/s Rx.
Packet size 8 KByte: 9153 KByte/s Tx, 11536 KByte/s Rx.
Packet size 16 KByte: 11148 KByte/s Tx, 11522 KByte/s Rx.
Packet size 32 KByte: 11153 KByte/s Tx, 11495 KByte/s Rx.
Done.
Diese Werte liegen bei maximal 90% der Nominaldatenrate des Netzwerks. Der Rest geht für Frame-Header usw. drauf.
11.148 KByte * 8 Bit / 1024 = 87 MBit
Dieser Wert hier ist recht gut und deutet auf eine Korrekte Funtion des Netzwerks hin.
3. Prüfen der Festplattengeschwindigkeit
Dazu liest man am einfachsten eine große Datei (z.B. CD-Image) von der Festplatte und stoppt die benötigte Zeit:
date; cp [datei] /dev/null; date
Als Ausgabe gibt das dann (bei 700MB):
Wed Jul 23 21:16:12 CEST 2003
Wed Jul 23 21:16:30 CEST 2003
700 MB / 18 sec = 38,9 MByte/s = 39.819 KByte/s
Auch dieser Wert deutet auf eine korrekte Funktion hin.
4. Prüfen der CPU/Speicher-Auslastung:
Die CPU-Auslastung kann mit "cat /proc/loadavg" angezeigt werden, die Ausgabe lautet dann etwa:
0.04 0.08 0.08 2/17 1150
! !! Durchschnittlich xxx Prozesse in der Queue
! !!----------- über die letzten 15 Minuten
! !---------------- über die letzten 5 Minuten
!--------------------- über die letzte 1 Minute
Die erste Zahl gibt also an, dass über die letzte Minute durchschnittlich 0,04 laufbereite Prozesse in der Queue standen und warten mussten. Die CPU-Auslastung ist also nicht besonders hoch.
Alternative Möglichkeiten zur Überprüfung der CPU-Auslastung sind imonc (fli4l) oder top (eisfair, fli4l mit OPT_TOP).
cat /proc/meminfo zeigt Statistiken über die Speicherausnutzung an. Wichtig sind die Anzeigen des freien Speichers (MemFree) und des für caching verwendeten Speichers (Cached) sowie des Swap.
Tendenziell sollte Swap möglichst klein sein, und die Summe aus Free und Cached möglichst groß
(Linux nutzt nach und nach den gesamten freien Speicher für Caching; bei mir sind das mehr als 75%).
5. Hardwaredefekt/Hardwareinkompatibilitäten
Natürlich kann eine der verwendeten Komponenten einen Defekt haben oder mit einer anderen Komponente inkompatibel sein.
Aber diesen Fall behandle ich hier nicht.
In diesem Fall hilft einfach der Austauch der betroffenen Komponenten.
6. Netzwerkhardware zu langsam?
Wenn die Netzwerkperformance deutlich unter den obigen Werten liegt, kann dies viele Ursachen haben.
Die häufigsten sind:
Verwendung eines Hubs
PC1 ----- Hub
PC2 ------! !
PC3 --------!
Falls im Netzwerk ein Hub anstatt eines Switches verwendet wird müssen sich die angeschlossenen Geräte die verfügbare Bandbreite teilen und es ist kein Full-Duplex-Betrieb möglich.
Überprüfung: Durchführung des Netzwerk-Tests mit einem gekreuzten Kabel oder einem Switch bringt deutlich höhere Performance.
Lösung: Verwendung eines Switches
Verwendung eines Hubs und eines 10MBit Geräts
PC1 ------------- Hub
PC2 --------------! !
!
DSL Modem ----------!
Wenn ein 10MBit-Gerät (z.B. das DSL-Modem) am Hub hängt, wird das gesamte Netzwerk mit 10MBit betrieben!
Überprüfung: Durchführung des Netzwerk-Tests mit einem gekreuzten Kabel oder einem Switch bringt deutlich höhere Performance.
Lösung 1: Verwendung eines Switches
(Aus welchen weiteren Gründen diese Konfiguration (DSL-Modem direkt im LAN) auch nicht verwendet werden sollte, werde ich bei Gelegenheit mal in einer weiteren FAQ/HowTo beschreiben)
Lösung 2: Verwendung einer 2. Netzwerkkarte für das DSL-Modem
(angenommen PC2 ist der fli4l Router)
PC1 ----- Hub
PC2 ------!
!
!
DSL Modem
Verwendung einer langsamen Netzwerkkarte mit einer langsamen CPU
Eine preisgünstige Netzwerkkarte z.B. mit Realtek 8139B belastet die CPU erheblich mehr, als eine 3com 905B. Wenn im PC jetzt auch noch eine langsame CPU ist, oder diese hoch ausgelastet ist, so kann dies die Netzwerkperformance negativ beeinflussen.
Überprüfung: Überprüfung der CPU-Auslastung (siehe oben) Lösung: Verwendung einer schnelleren CPU und/oder einer
hochwertigeren Netzwerkkarte
Fehlerhafte QoS-Einstellungen (falls installiert!)
Mittels der QoS (Quality of Service) Einstellunen kann die frei verfügbare Bandbreite beschränkt werden.
Überprüfung: Überprüfung der QoS-Einstellungen auf dem fli4l/EISFAIR (OPT_QoS) und auf dem Client
Lösung: Korrektur der QoS-Einstellungen
6. Festplatte zu langsam? (Festplatte läuft nur im PIO-Mode)
PIO-0 => 3,3 MByte/sec = 26,4 MBit/sec
PlO-1 => 5,2 MByte/sec = 41,6 MBit/sec
PlO-2 => 8,3 MByte/sec = 66,4 MBit/sec
PlO-3 => 11,1 MByte/sec = 88,8 MBit/sec
PlO-4 => 16,6 MByte/sec = 132,8 MBit/sec
(Neben der obigen maximalen Datenrate pro PIO-IDE-Kanal ist auch zu beachten, dass der Betrieb einer Festplatte im PIO-Mode eine sehr hohe CPU-Last erzeugt!)
(alte) Festplatte ist so langsam bzw. kann nur den PIO-Mode
Lösung: Verwendung einer schnelleren Festplatte
IDE-Controller (auf dem Mainboard) kann nur den PIO-Mode
Überprüfung: Handbuch des Mainboards
Lösung: Verwendung eines anderen Controllers/Mainboards
Festplatte läuft derzeit nur im PIO-Mode
Lösung: Aktivierung des DMA-Modus mit hdparm im OPT_HD (fli4l)
bzw. Paket hdtune (eisfair).
7. Festplatte ist im sleep mode
Überprüfung: Der erste Zugriff auf eine kleine Datei dauert sehr lange, jeder weitere Zugriff auf andere Dateien geht dann aber wieder sehr schnell.
Lösung: Deaktivierung des sleep mode mit hdparm im OPT_HD (fli4l) bzw. Paket hdtune (eisfair).
