RE: NFS-Client von 7.2 Pro ist beim Lesen sehr langsam
Hallo! Am Sonntag 09 September 2001 20:23 schrieben Sie:
Sehr geehrte Damen und Herren!
Auf meinem Rechner (AMD-Athlon, 256 MB Arbeitsspeicher, Gigabyte GA-7IXE4 Mainboard, Reaktec RTL8139C Netzkarte, Kernel 2.4.4-4GB) funktioniert der 7.2 NFS-Client nicht richtig.
Beim Schreiben einer 1,1GB großen Testdatei erreicht er eine Geschwindigkeit von 3-4MB-sec, beim Lesen lesen sind es max. 0,3MB/sec häufig auch nur 20KB/sec. Wobei die Übertragung beim ersten Mal anfangs recht flott vorangeht (permanentes Blinken der Lechtdioden am Hub), nach 10-20 Sekunden sich aber stark verlangsamt. Weitere Dateien werden nur mit sehr geringer Geschwindigkeit übertragen.
Einen Hardwarefehler schließe ich aus, da im Rettungssystem von Suse 6.4 der NFS-Client ordnunggemäß funktioniert.
Auch ein Konfigurationsfehler ist auszuschließen, da der Fehler sich im Rettungssystem von Suse 7.2 reproduzieren lässt. Testinstallationen auf zwei anderen Clients ergaben, dass dort der NFS-Client richtig funktioniert.
Das gleiche Problem haben Herr Rudolf Heeb <Rudolf.Heeb@softwareag.com> und Herr Mirko Richter <m.richter@ngi-box.de>, die sich auf eine Anfrage in der Liste suse-linux@suse.com gemeldet haben. (Betreff: Athlon langsam wie 8088: Nachtrag).
Eine Supportanfrage meinerseits wurde mit dem üblichen Schreiben beantwortet, es ginge über den Support hinaus. Eine Nachfrage meinerseits wurde ignoriert.
Ich bin gerne bereit, Sie bei der Suche nach dem Fehler zu unterstützen, Sie müssen nur sagen, was ich tun soll.
Mit freundlichen Grüßen Kai Wüstermann
Ich habe das Problem nocheinmal genauer durch einen Nachbau der damaligen in meiner Mail zugegeben knapp beschriebenen Situation analysiert. Aufbau: ------- 100M-FDx 100M-FDx Server1---------SWITCH-----------Workst1 | | | 100M-FDx | ROUTER-1 | | 100MBit-HDx | | DS-Hub (10/100MBit) | | | 100M-HDx | | | ROUTER-2 | | 100M-FDX | | | SWITCH | | 100M-FDx | Workst2 Konfiguration: -------------- Server1: AMD K6-2 500 - 512MB - dmfe9102 - SUSE 7.0 Workst1/2: je AMD Duron 800 - 256MB - 3c905cx - (diskless) SUSE 7.0 bzw. 7.1 Router: je iP200 - 24MB - 5x RTL8139 - LRP Switch: je HP ProCurve 2524 DS-Hub: NoName Situation: ---------- Server1 - User-NFDd WorkstX - SUSE 7.1 Fall 1: ------- Ich mounte von Server1 aus ein Verzeichnis von Workst2. Ein time cat testfile2.bin (81.920.000 Bytes) > /dev/null dauert 0m34,397s also ca. 2.326 kByte/s (nicht gerade berauschend aber naja) Fall 2: ------- Ich mounte von Workst2 aus ein Verzeichnis von Server1. Ein time cat testfile2.bin > /dev/null dauert 5m55,822s was rechnerisch ca. 230,2 kByte/s macht. :-( Mit Workst1 liefern Fall 1 und 2 Übertragungsraten von ca. 7,5 bis 8,8 MByte/s. Gleicher Versuch mit SUSE 7.0 auf der Workst2 brachte ein Ähnliches Ergebnis --- nur halt nicht ganz so schlecht --- beide male ca. 1,5 bis 2,5 MByte/s. War vorher nur nicht so aufgefallen, wurde ja nur für die Installation über NFS genutzt. Ein auf Workst1 ausgeführtes "time ping -f -c 102400 -s 1024 server1" brauchte ca. 25,x sec - also ca. 4.100 kByte/s hin und zurück also rund 8MByte/s. Auch ein FTP zw. Workst2 und Server1 machte keine Probleme 6,0 bis 7,5 MByte/s. ... nicht schlecht für HDx und 2 Router! :-) Warum ist dann NFS so langsam? ... Weitersuchen! ein ifconfig eth0 auf den Routern lieferte den Hinweis auf Übertragungsfehler auf der HDx-Strecke. **** Router-1 >>>> Link encap:Ethernet HWaddr 00:E0:7D:84:50:05 inet addr:XXX.XXX.XXX.XXX Bcast:XXX.XXX.YYY.YYY Mask:255.255.0.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:9644917 errors:80126 dropped:0 overruns:1 frame:1 TX packets:18453672 errors:0 dropped:0 overruns:0 carrier:0 collisions:308005 txqueuelen:100 Interrupt:10 Base address:0xc000 <<<< Router-1 **** Durch Kollisionen eigentlich nichts ungewöhnliches. Eine Beobachtung der Act-LED's am Switch/Hub zeigten Pausen in der Übertragung. Also einfach mal den DS-Hub gegen einen Switch (Planet FSW-1600) ausgetauscht und siehe da: Fall 1: ------- Ich mounte von Server1 aus ein Verzeichnis von Workst2. Ein time cat testfile2.bin (81.920.000 Bytes) > /dev/null dauert 17,667s also ca. 4.528 kByte/s :-) Fall 2: ------- Ich mounte von Workst2 aus ein Verzeichnis von Server1. Ein time cat testfile2.bin > /dev/null dauert 16,324s was auch ca. 4.900 kByte/s macht. :-) Da sage doch nochmal einer "Linux tauge nicht als Router!" :-) Fazit: ------ Ich denke das bei NFS nach den Übertragungsfehlern irgendein Timeout abgewartet wird, bevor die Übertragung wieder aufgenommen wird. Was die Pausen erklären würde. Wo nun der Unterschied dabei zw. SuSE 7.0/7.1/7.2 liegt weiß ich nicht, da ich mir die Quellen noch nicht angeschaut habe. Mfg Mirko -- +--[ Mirko Richter (RHCE) ]------------------------+ | Networks & Communicationsystems | | Mirko Richter | | Ernst-Thaelmann-Str. 5, D-06774 Soellichau | | E-MAIL: m.richter@ngi-box.de | | Tel. +49/(0)34243/3369-50 \\\\ | | Fax. +49/(0)34243/3369-28 (O O) | +-----------------------------------oOOo-(_)-oOOo--+
On Tue, 11 Sep 2001, Mirko Richter wrote:
Hallo!
auch hallo ;-) ~ snip ~
Konfiguration: -------------- Server1: AMD K6-2 500 - 512MB - dmfe9102 - SUSE 7.0 Workst1/2: je AMD Duron 800 - 256MB - 3c905cx - (diskless)
~~~~~~~ oh je... Ich habe mit 3Com-Karten besonders unter Linux bisher nur schlechte Erfahrungen gemacht... Die alten ISA-Karten (Etherlink3) hatten einen guten Ruf, die 3c905x werden dem bei weitem nicht gerecht. Ich hatte auch aehnliche Probleme, besonders in Verbindung mit Cisco-Komponenten (Switch). Da hilft dann nur langes Rumprobieren mit div. Einstellungen (z.B. Autosensing ausschalten und auf HalfDuplex stellen...) Oder gleich andere Karten kaufen. Intel Pro100 sind gut, und Karten mit dem DEC Tulip Chip (DC21x4x) sind auch net schlecht. ~ snip ~
Server1 - User-NFDd
Userspace-NFS??? Mir wurde schon vor Jahren vom SuSE-Support zu Kernel-NFS geraten. Der knfsd ist schneller, beherrscht halbwegs vernuenftiges File-locking und soll auch stabiler sein. Hier in der Fa. laufen 6 Server teilw. seit Jahren fehlerfrei mit dem knfsd.
Fazit: ------ Ich denke das bei NFS nach den Übertragungsfehlern irgendein Timeout abgewartet wird, bevor die Übertragung wieder aufgenommen wird. Was die Pausen erklären würde. Wo nun der Unterschied dabei zw. SuSE 7.0/7.1/7.2 liegt weiß ich nicht, da ich mir die Quellen noch nicht angeschaut habe.
NIC-Treiber im Kernel...
Mfg Mirko
mfg. peter woelfel -- | LEISTRITZ Aktiengesellschaft Tel.: +49 (0) 911 4306 559 | Peter Woelfel, EDV-Abteilung Fax: +49 (0) 911 4306 478 | Markgrafenstrasse 29-39 eMail: pwoelfel@leistritz.de | D-90459 Nuernberg Web: http://www.leistritz.de
Am Dienstag 11 September 2001 14:03 schrieben Sie:
On Tue, 11 Sep 2001, Mirko Richter wrote:
Hallo!
auch hallo ;-)
~ snip ~
Konfiguration: -------------- Server1: AMD K6-2 500 - 512MB - dmfe9102 - SUSE 7.0 Workst1/2: je AMD Duron 800 - 256MB - 3c905cx - (diskless)
~~~~~~~ oh je... Ich habe mit 3Com-Karten besonders unter Linux bisher nur schlechte Erfahrungen gemacht... Die alten ISA-Karten (Etherlink3) hatten einen guten Ruf, die 3c905x werden dem bei weitem nicht gerecht.
Das auch in der Mail von Kai beschriebene Problem sollte eigentlich nichts mit der verwendeten Netzwerkkarte zu tun haben! Das Problem hatte auch nichts mit den Workstations zu tun, da die Fehler auf dem im Halbduplex laufenden Bereich zw. den Routern auftraten! Stichwort Kollisionen!! Da kann es durchaus dazu kommen, daß das eine oder andere Eth-Frame nicht korrekt ankommt. Das ist also ganz normal ;-)
Ich hatte auch aehnliche Probleme, besonders in Verbindung mit Cisco-Komponenten (Switch). Da hilft dann nur langes Rumprobieren mit div. Einstellungen (z.B. Autosensing ausschalten und auf HalfDuplex stellen...)
Oder gleich andere Karten kaufen. Intel Pro100 sind gut, und Karten mit dem DEC Tulip Chip (DC21x4x) sind auch net schlecht.
~ snip ~
Server1 - User-NFDd
Userspace-NFS??? Mir wurde schon vor Jahren vom SuSE-Support zu Kernel-NFS geraten.
Der knfsd ist schneller, beherrscht halbwegs vernuenftiges File-locking und soll auch stabiler sein.
Hier in der Fa. laufen 6 Server teilw. seit Jahren fehlerfrei mit dem knfsd.
Der Knfsd kann allerdings so einiges (noch) nicht (richtig), was man zB. für den Betrieb von "Diskless Workstations" so braucht: - User-mapping - export von "verschachtelten" Filesystems
Fazit: ------ Ich denke das bei NFS nach den Übertragungsfehlern irgendein Timeout abgewartet wird, bevor die Übertragung wieder aufgenommen wird. Was die Pausen erklären würde. Wo nun der Unterschied dabei zw. SuSE 7.0/7.1/7.2 liegt weiß ich nicht, da ich mir die Quellen noch nicht angeschaut habe.
NIC-Treiber im Kernel... Kann ich mir nicht vorstellen. FTP (TCP) - keine Probleme Ping (ICMP) - keine Probleme NFS (UDP!) - Probleme!
an sonst siehe oben. Ich kannn mir da nur folgendes vorstellen: NFS -> UDP ("verbindungslos") -> NFSd bzw. Client müssen sich selbst um Paketverluste und -fehler kümmern! Der NFS scheint also eine gewisse Zeit auf die Bestätigung für ein übertragenes Paket zu warten, die aber von der Gegenseite nicht kommt (weil dieses ja am Router verworfen wurde), bis er es neu Überträgt. Und da scheint nir dann auch der Grund für die Unterschiede in den Versionen zu liegen. Bei FTP -> TCP erledigt die Fehlersicherung ja der TCP im Kernel. Bei Ping -> ICMP ist der Paketverlust s... egal, der findet seinen Einzug nur in der Meldung XX% Paketverlust.
Mfg Mirko
mfg. peter woelfel
-- +--[ Mirko Richter (RHCE) ]------------------------+ | Networks & Communicationsystems | | Mirko Richter | | Ernst-Thaelmann-Str. 5, D-06774 Soellichau | | E-MAIL: m.richter@ngi-box.de | | Tel. +49/(0)34243/3369-50 \\\\ | | Fax. +49/(0)34243/3369-28 (O O) | +-----------------------------------oOOo-(_)-oOOo--+
participants (2)
-
Mirko Richter
-
Peter Woelfel