Hallöchen,
ich frickle derzeit ein bisschen an meinem neuen Server rum, der eben auch Dateien
bereit stellen soll. Auf dem Server läuft ein Ubuntu Server 8.10 als Client fungiert (u.a.)
natürlich mein Arch-Desktop.
Mir ist jetzt aufgefallen, dass die Übertragungsraten über NFS sehr ungleichmäßig, quasi
stoßweise sind.
Beide Peers besitzen GBit onboard NICs (Desktop: Realtek 8168, Server: Via Velocity),
der Switch zwischen ihnen ist jedoch nur ein 100Mbit/Switch. Das Problem tritt auch auf,
wenn ich nicht die Via Velocity, sondern die ebenfalls vorhandene Via Rhine NIC (100 MBit)
nehme.
Was ich beobachte ist, dass die Übertragungen immer wieder auf fast 40-50 MB/s (mitunter
sogar 230 MB/s) spiken, aber Dolphin dann meldet, die Übetragungsgeschwindigkeit würde
auf ein paar hundert kb/s sinken und zwischendurch sogar gänzlich aufhören.
Tatsache ist jedoch, dass die Übertragungs-LEDs am Switch permanent wie irre flackern und
ebenso die Festplatte des Servers arbeitet.
Eine interessante Beobachtung zeigt auch die CPU-Last während des Transfers:
Solange die Geschwindigkeit hochspiked, geht die Last auf dem Server auf 0% (naja, ein
paar Prozent sinds schon, aber die sind durch die diversen Hintergrunddienste erklärbar).
Wenn mir mein System meldet, die Übertragung wäre angehalten, steigt die Last auf ca. 20-30%,
was mir eher realistisch erscheint.
Meine Vermutung ist, dass die Daten zunächst nicht direkt übertragen werden, sondern erst
in irgendeinem Cache landen und dann gemächlich mit 100MBit/s abgesendet werden.
Lasse ich mir die durchschnittliche Geschwindigkeit über den Transfer anzeigen, komme ich
bei genügen großen Volumina (>1 GB) auch auf einen Mittelwert von ca. 10 MB/s, was man
in einem 100 mbits LAN ohne tolle NICs durchaus erwarten würde.
Prinzipiell wäre das ja jetzt kein Problem, aber leider kommen einige Anwendungen damit
nicht klar und blockieren einfach während der tatsächlichen Übertragung. Außerdem
fühlt sich die Übertragung nicht wirklich "rund" an.
Die diversen Logs auf Server und Client (dmesg, /var/log/{daemon.log, messages, error.log}) zeigen
nichts verdächtiges. Ich habe schon diverse rsize, wsize-Paare probiert, jedoch ohne Ergebnis.
Der Server läuft auf jfs, aber auch wenn ich die Datenpartition auf xfs ändere, zeigt sich das
Problem davon unbeeindruckt, weshalb ich von einem Clientseitigen Problem ausgehe.
Ein kurzer Test mit dem Ubuntu-PC meiner Mutter zeigte dort auch wesentlich "ruhigere" Transfers.
Zwischendurch gabs zwar einige Schwankungen, aber die lagen durchaus im Rahmen, zumal die
Kiste eh etwas langsam ist 😉
Sodele,
ich hoffe ihr könnt mir da ein wenig helfen 😉
Vrob
ich frickle derzeit ein bisschen an meinem neuen Server rum, der eben auch Dateien
bereit stellen soll. Auf dem Server läuft ein Ubuntu Server 8.10 als Client fungiert (u.a.)
natürlich mein Arch-Desktop.
Mir ist jetzt aufgefallen, dass die Übertragungsraten über NFS sehr ungleichmäßig, quasi
stoßweise sind.
Beide Peers besitzen GBit onboard NICs (Desktop: Realtek 8168, Server: Via Velocity),
der Switch zwischen ihnen ist jedoch nur ein 100Mbit/Switch. Das Problem tritt auch auf,
wenn ich nicht die Via Velocity, sondern die ebenfalls vorhandene Via Rhine NIC (100 MBit)
nehme.
Was ich beobachte ist, dass die Übertragungen immer wieder auf fast 40-50 MB/s (mitunter
sogar 230 MB/s) spiken, aber Dolphin dann meldet, die Übetragungsgeschwindigkeit würde
auf ein paar hundert kb/s sinken und zwischendurch sogar gänzlich aufhören.
Tatsache ist jedoch, dass die Übertragungs-LEDs am Switch permanent wie irre flackern und
ebenso die Festplatte des Servers arbeitet.
Eine interessante Beobachtung zeigt auch die CPU-Last während des Transfers:
Solange die Geschwindigkeit hochspiked, geht die Last auf dem Server auf 0% (naja, ein
paar Prozent sinds schon, aber die sind durch die diversen Hintergrunddienste erklärbar).
Wenn mir mein System meldet, die Übertragung wäre angehalten, steigt die Last auf ca. 20-30%,
was mir eher realistisch erscheint.
Meine Vermutung ist, dass die Daten zunächst nicht direkt übertragen werden, sondern erst
in irgendeinem Cache landen und dann gemächlich mit 100MBit/s abgesendet werden.
Lasse ich mir die durchschnittliche Geschwindigkeit über den Transfer anzeigen, komme ich
bei genügen großen Volumina (>1 GB) auch auf einen Mittelwert von ca. 10 MB/s, was man
in einem 100 mbits LAN ohne tolle NICs durchaus erwarten würde.
Prinzipiell wäre das ja jetzt kein Problem, aber leider kommen einige Anwendungen damit
nicht klar und blockieren einfach während der tatsächlichen Übertragung. Außerdem
fühlt sich die Übertragung nicht wirklich "rund" an.
Die diversen Logs auf Server und Client (dmesg, /var/log/{daemon.log, messages, error.log}) zeigen
nichts verdächtiges. Ich habe schon diverse rsize, wsize-Paare probiert, jedoch ohne Ergebnis.
Der Server läuft auf jfs, aber auch wenn ich die Datenpartition auf xfs ändere, zeigt sich das
Problem davon unbeeindruckt, weshalb ich von einem Clientseitigen Problem ausgehe.
Ein kurzer Test mit dem Ubuntu-PC meiner Mutter zeigte dort auch wesentlich "ruhigere" Transfers.
Zwischendurch gabs zwar einige Schwankungen, aber die lagen durchaus im Rahmen, zumal die
Kiste eh etwas langsam ist 😉
Sodele,
ich hoffe ihr könnt mir da ein wenig helfen 😉
Vrob