Jump to content

Netzwerk Geschwindigkeitstest NFS


Worschter

Empfohlene Beiträge

Soooo, es ist 2:44...der User trulex hat es.....GESCHAFFT ! lol :P

 

Hab's mal nach der Anleitung von Lack gemacht und nun scheint es zu laufen,der Test läuft gerade:

 

/var # NT/netztest DBox2

 

4096, 4096

8192+0 records in

8192+0 records out

real    1m 28.43s

user    0m 0.21s

sys     0m 13.57s

5818

8192+0 records in

8192+0 records out

real    1m 18.22s

user    0m 0.23s

sys     0m 14.14s

6564

192.168.0.13:/DBox2 on /mnt/filme type nfs (rw,v3,rsize=4096,wsize=4096,soft,udp

,nolock,addr=192.168.0.13)

 

6144, 6144

 

etc.

 

Ist schon ziemlich spät, mach dann morgen (bzw. heute :D ) den Test, aber nun ist es ja geklärt, es LÄUFT ! :wacko:

Keine Ahnung wieso es vorher nicht geklappt hat :P

 

Danke !

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Antworten 1,5k
  • Created
  • Letzte Antwort

Top Posters In This Topic

@Lack: Wie ändere ich deine Datei um,so dass ich auch mit anderen Werten testen kann...also z.B. 16384|32768 (anstatt 16384|16384) ?.

 

Meine besten Werte habe ich bei 16384|16384

Schreibgeschw. :7111

Lesegeschw. :7876

 

und bei 32768|32768

Schreibgeschw. :7111

Lesegeschw. :8126

 

Ist eine RTL 8139 (außerdem hängt noch ein D-Link 604 Router dran).

 

Wieso ist die Lesegeschwindigkeit immer so viel höher...kann man da irgendwo Änderungen vornehmen um es zu "verbesseren" ?.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da müsste man innerhalb der for-Schleife eine zweite for-Schleife einbauen, die dann mit einer anderen Variable für jeden einzelnen rsize-Wert alle wsize-Werte durchläuft - sind aber eine Menge Kombinationen, um genau zu sein 100, das wird dann ganz schön lang dauern bis der Test durch ist.

 

Alternativ könntest du z.B. rsize im Skript fix belegen und nur wsize die Werte durchlaufen lassen. Dazu musst du nur die Parameter beim Befehl "mount" anpassen, also statt einem $R muss eine Zahl hin.

 

Grundsätzlich macht das aber glaube ich überhaupt wenig Sinn, denn rsize beeinflusst nicht das Schreiben und wsize nicht das Lesen, also ändern Kobinationen vermutlich auch nichts an den ereichbaren Übertragungsgeschwindigkeiten (probiert hab ich es allerdings noch nicht).

 

Gruß Lack

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da müsste man innerhalb der for-Schleife eine zweite for-Schleife einbauen, die dann mit einer anderen Variable für jeden einzelnen rsize-Wert alle wsize-Werte durchläuft - sind aber eine Menge Kombinationen, um genau zu sein 100, das wird dann ganz schön lang dauern bis der Test durch ist.

 

Alternativ könntest du z.B. rsize im Skript fix belegen und nur wsize die Werte durchlaufen lassen. Dazu musst du nur die Parameter beim Befehl "mount" anpassen, also statt einem $R muss eine Zahl hin.

 

Grundsätzlich macht das aber glaube ich überhaupt wenig Sinn, denn rsize beeinflusst nicht das Schreiben und wsize nicht das Lesen, also ändern Kobinationen vermutlich auch nichts an den ereichbaren Übertragungsgeschwindigkeiten (probiert hab ich es allerdings noch nicht).

 

Gruß Lack

Hab' nur gefragt,weil hier offenbar welche gute Ergebnisse mit 16384|32768 haben..irgendwie müssen die das ja ausgewertet haben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja sicher das geht auch so.

z.B.:

/var # NT/netztest DBox2

 

4096, 4096

8192+0 records in

8192+0 records out

real    1m 28.43s

user    0m 0.21s

sys    0m 13.57s

5818

8192+0 records in

8192+0 records out

real    1m 18.22s

user    0m 0.23s

sys    0m 14.14s

6564

192.168.0.13:/DBox2 on /mnt/filme type nfs (rw,v3,rsize=4096,wsize=4096,soft,udp

,nolock,addr=192.168.0.13)

 

6144, 6144

 

etc.

Für die 5818 ist wsize verantwortlich, ist also deine Übertragungsrate beim Aufnehmen.

Und für 6564 ist rsize verantwortlich, ist daher deine Übertragungsrate beim Abspielen.

Nach dem Test kannst du dann in der Box bei den Mounteinstellungen für rsize und wsize jeweils den Wert eintragen wo die dazugehörige Übertragungsgeschwindigkeit beim Test am besten war.

 

Gruß Lack

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hab' wohl das selbe Problem wie Worschter zu Beginn..."wsize" kommt nicht über 8192 hinaus...gibt es denn dafür jetzt eine eindeutige Lösung ?.

 

Registry:

- UseWriteCache habe ich auf 1

- NfsHandlesCacheSizeMax

u. NtfsHandlesCacheSizeMax sind beide auf 32768

-Firewall: Aus

-Netzwerkkarte ist auf 10-Halbmodus

-Empfangspuffer ist auf 64K bytes

- Ausgangspuffer : Da ist keine Option für den A.Puffer,wo kann man den einstellen ?..also unter Geräte Manager,Eigenschaften der Karte (unter "Erweitert" ist da nichts außer Empfangspuffer|Netzwerkadresse||Übertragungsrate)

-Ist übrigens eine RTL 8139

-Habe XP mit SP2

-Image : KEYWELT_V4_SEPTEMBER_2x_SQUASHFS_2005.img

Link zu diesem Kommentar
Auf anderen Seiten teilen

Eindeutige Lösung ist Windows Server 2003 verwenden.

Weiters hab ich schon gelesen dass es mit TCP statt UDP als Mountparameter geht, wobei TCP wieder andere Nachteile in der Geschwindigkeit mit sich bringt.

 

Obwohl mich das Prob nicht betrifft hätte ich schon gerne die Lösung gefunden, hab ich aber nicht und soweit ich weiß bis jetzt auch niemand anderer, aber vielleicht hat Worschter da Neuigkeiten.

 

Es gibt aber einen Unterschied zu den Leuten die es nicht schaffen den ich noch nie erwähnt habe, weil ich mir nicht vorstellen kann dass es daran liegt.

 

Wenn ich SFU bei mir installiere kann ich es nicht verhindern dass der Telnet Server mit installiert wird, sieht dann so aus:

SFU1.jpg

Aber wie gesagt, kann mir echt nicht vorstellen dass es daran liegt.

 

Gruß Lack

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja, hab etwas vergessen:
#!/bin/sh

V=$1

for R in 4096 6144 8192 9216 10240 11264 12288 16384 24576 32768

do

echo

echo $R", "$R

               umount /mnt/filme

               mount -t nfs -o rw,soft,udp,nolock,async,rsize=$R,wsize=$R 192.168.0.1:/$V /mnt/filme

               a=`date +%s`

               /bin/time /bin/dd if=/dev/zero of=/mnt/filme/test bs=8k count=8192

               z=`date +%s`

               n=`expr $z - $a`

               expr 512000 / $n

               a=`date +%s`

               /bin/time /bin/dd of=/dev/null if=/mnt/filme/test bs=8k count=8192

               z=`date +%s`

               n=`expr $z - $a`

               expr 512000 / $n

               mount | grep /mnt/filme

done

Die roten Stellen musst du auf dein "lokales Verzeichnis" anpassen.

Hoffe zumindest dass das der einzige Fehler war.

 

Verwendest du noch immer /mnt/filme/movies dann muss das an den roten Stellen hinkommen?

 

Gruß Lack

@Lack

 

Das ist aber nicht das originale netztest von Worschter. Bei der Version von Worschter werden die IP und das Mountverzeichnis ja beim Aufruf als Variable mit übergeben.

Von daher hast Du wohl eine angepasste Version, wo Du dann keine IP und kein Mountverzeichnis übergeben musst. Ist aber ja eigentlich nicht Sinn und Zweck im Script selber die Sachen zu ändern. Dafür gibt es ja Variablen. :P

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der "originale" netztest wollte bei mir zumindestens nichtt klappen...bleibt jetzt nur noch das Problem,wieso ich nicht höhere Werte als 8192 einsetzen kann... .

 

PS: Benutzen hier alle anderen,bei denen man höhere Werte als 8192 eintragen kann Linux und keiner Windows (XP) ?.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Didge2002,

sehe ich anders.

Worschter hat das originale Skript nicht selber geschrieben sondern nur diese Änderungen mit der Variablenübergabe und auch den Mountparametern gemacht.

Und wenn du sagst dafür gibt es Variablen stimmt das schon, nur ich hab keine Lust bei jedem Test Werte zu übergeben die sich ohnehin nie ändern, also sehe ich es für meine Bedürfnisse als sinnvoller an diese Werte fix im Skript zu belassen.

 

MfG Lack

bearbeitet von Lack
Link zu diesem Kommentar
Auf anderen Seiten teilen

@Worschter,

kennst du den Parameter noatime eigentlich?

Hab ich hier gefunden http://forum.tuxbox.org/forum/viewtopic.php?p=271387#271387 und probiert, wird auch übernommen, aber Verbesserung hab ich keine feststellen können - wollte es aber trotzdem erwähnen.

 

Gruß Lack

 

Edit: funzt nicht! noatime nimmt er und mit atime geht das mounten gar nicht, ist also zum vergessen

bearbeitet von Lack
Link zu diesem Kommentar
Auf anderen Seiten teilen

@Lack

 

Wollte das nur erwähnen. Denn wenn jemand das Original script vom ersten Post benutzt, dann die Änderungen im script vornimmt und den Aufruf aber wie von Worschter beschrieben durchführt, wird es wohl oder übel auch zu Fehlermeldungen kommen.

 

Für die eigenen Bedürfnisse kann man es dann ja auch anpassen. Sollte man nur erwähnen, dass es nicht grundsätzlich nötig ist und der Aufruf dann auch anders erfolgt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Weil wir gerade dabei sind, hab auch die Pfade zu "time" und "dd" verändert damit man keine Links mehr braucht.

 

Edit: Geht auch ohne Pfadangabe hab ich grad bemerkt, war aber bei einem älteren Image von mir glaub ich notwendig - kann mich aber auch täuschen.

bearbeitet von Lack
Link zu diesem Kommentar
Auf anderen Seiten teilen

hi,

 

also nun steht hier so viel, daß ich watschens nen Teil vergesse, aber wenn dem so ist einfach melden.

die Werte 163854 / 32768 sind jene die bei mir am besten laufen :P

 

Das Script ist ansich so ausgelegt, daß es in allen Images läuft, deswegen auch dioe 3 Dateien.

Damals war dd und time noch nicht im Keywelt Image, deswegen ist eine der Dateien

ne Busybox mit genau diesen Befehlen (busy). Im Keywelt Image braucht man, da die Befehle drin sind

ein wesentlich kleineres Script. Also wie Lack das beschrieben hat.

 

Zu dem Problem mit dem maximal 8192 wsize weiß ich auch nix neues. Ist ein Mist.

 

kennst du den Parameter noatime eigentlich?

 

nodiratime oder so sagt mir irgendwoher was. Aber ist schon ne Weile her, weiß garnicht mehr wozu der diente.

 

on daher hast Du wohl eine angepasste Version, wo Du dann keine IP und kein Mountverzeichnis übergeben musst. Ist aber ja eigentlich nicht Sinn und Zweck im Script selber die Sachen zu ändern. Dafür gibt es ja Variablen.

 

Hab ich aber für meine Tests teilweise auch gemacht weil weniger Aufwand :D

Ist aber für die allgemeinheit einfacher zu erklären und zu handhaben, wenn man

da die Variablen nutz.

 

Wenn man das ganze mit FTPFS macht (also statt NFS),spielen die Werte dann überhaupt noch eine Rolle ,in den Einstellungen muss man ja dann w/rsize nicht mehr angeben ?.

 

FTPFS arbeitet meiner Meinung nach etwas anders. Da gibt es die Parameter einfach nicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wollt jetzt mal ein Skript schreiben dass die Werte für die Gechwindigkeit ganz genau ausgibt und dann ein finales Ergebnis mit den besten Geschwindigkeiten und den dazugehörigen rsize und wsize Werten liefert.

Also das Ganze von der Optik und der Genauigkeit etwas aufmotzen.

 

Scheitert leider an der "date" Funktion des Images, normalerweise bekommt man mit "date +%s.%N" die aktuelle Zeit auf Nanosekunden genau ausgegeben, leider geht das bei der Box nur auf Sekunden genau (%N wird nicht als Formatparameter angenommen - geht nur am PC). Eine andere Funktion die man da verwenden könnte hab ich auch nicht finden können.

 

Schade, dann bleibt es leider dabei dass die Werte eine maximale Toleranzfeldbreite von ca. 200 MBit/s aufweisen (kann man sich aufgrung der Berechnungsmethode im Script ausrechnen - je langsamer desto ungenauer).

Unter den Umständen hab ich auch keine Lust Arbeit in das Script zu stecken.

Wenn irgendwer einen Einfall hat wie man Sekundenbruchteile der Systemzeit oder Prozesszeit trotzdem in eine Variable bekommt wäre das natürlich toll.

 

Gruß Lack

bearbeitet von Lack
Link zu diesem Kommentar
Auf anderen Seiten teilen

Falls jemand seine Geschwindigkeiten ganz genau wissen will, ist z.B. beim Feintuning des Netztwerks ganz sinnvoll, weil wie gesagt die Werte können um 200MBit/s falsch sein, und der Fehler ist nicht konstant, der kann hin und her springen obwohl die reale Geschwindigkeit sich kaum verändert hat.

 

Mit einem Taschenrechner ist eine genaue Berechnung möglich, im Script hab ich noch keine Möglichkeit gefunden wie man das machen könnte, wahrscheinlich hätte es essu auch schon gemacht wenn es so einfach wäre.

 

Im Script wird vor und nach dem Schreiben bzw. Lesen jeweils eine Variable mit hilfe von "date" mit der aktuellen Systemzeit belegt, aus der Differenz aus Endzeit und Startzeit wird dann die Geschwindigkeit berechnet - ist wie gesagt ziemlich ungenau.

 

Nun kann man aber die ganz genaue Zeit die ein Befehl zur Ausführung benötigt mit "time" messen, das ist im Skript auch schon gemacht worden, nur lässt sich diese Zeit nicht in einer Variable speichern, sondern erscheint nur am Bildschirm.

 

Also die Berechnung:

32768, 32768

8192+0 records in

8192+0 records out

real    1m 1.27s

user    0m 0.26s

sys    0m 10.41s

8393

8192+0 records in

8192+0 records out

real    0m 57.21s

user    0m 0.16s

sys    0m 7.37s

8982

192.168.0.1:/DBox2 on /mnt/filme type nfs (rw,v3,rsize=32768,wsize=32768,soft,udp,nolock,addr=192.168.0.1)

 

Ausgegebene Schreibgeschwindigkeit: 8393

Genaue Schreibgeschwindigkeit: 512000 / 61,27 = 8356

 

Ausgegebene Lesegeschwindigkeit: 8982

Genaue Lesegeschwindigkeit: 512000 / 57,21 = 8949

 

Das rote sind die Zeiten aus der Ausgabe umgerechnet in Sekunden.

Gut der Unterschied ist bei mir jetzt nicht viel, aber es kann sich in ungünstigen Fällen ein sehr hoher Unterschied ergeben. Was aber viel schlimmer ist, ist die Tatsache dass man beim Netzwerk konfigurieren nicht weiß welche Einstellung wieviel bringt, weil die Werte nur in fixen Schritten hin und her springen.

 

Fakt ist auf jeden Fall, diese Berechnung ist genau und die im Sckript verwendete Methode ist ungenau.

 

Gruß Lack

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hab' den Test nochmal gemacht, jetzt funktioniert sogar der von Worschter,hab' die Übertragungsrate nur auf 100 Halbmodus (statt 10 Halbmodus) umgestellt :D

 

Die Unterschiede sind auch relativ groß:

 

100 Halfduplex:

 

32768, 32768

8192+0 records in

8192+0 records out

real    0m 59.69s

user    0m 0.24s

sys     0m 11.93s

8533

8192+0 records in

8192+0 records out

real    1m 4.77s

user    0m 0.20s

sys     0m 7.85s

7876

192.168.0.13:/DBox2 on /mnt/filme type nfs (rw,v3,rsize=32768,wsize=8192,soft,ud

p,nolock,addr=192.168.0.13)

192.168.0.13:/DBox2 on /mnt/filme type nfs (rw,v3,rsize=32768,wsize=8192,soft,ud

p,nolock,addr=192.168.0.13)

/var #

 

10 Halfduplex:

 

32768, 32768

8192+0 records in

8192+0 records out

real    1m 11.80s

user    0m 0.28s

sys     0m 11.55s

7111

8192+0 records in

8192+0 records out

real    1m 3.20s

user    0m 0.32s

sys     0m 8.43s

8126

192.168.0.13:/DBox2 on /mnt/filme type nfs (rw,v3,rsize=32768,wsize=8192,soft,ud

p,nolock,addr=192.168.0.13)

192.168.0.13:/DBox2 on /mnt/filme type nfs (rw,v3,rsize=32768,wsize=8192,soft,ud

p,nolock,addr=192.168.0.13)

/var #

 

Mit 100 Halfduplex sind die Werte aufjedenfall besser,wieso sind die Unterschiede da so groß (ich meine in Schreib-und Lesegeschw.) ?.

 

Ahja,man sieht ja,dass wsize nicht über 8192 hinauskommt, hab' auf der Dbox mal trotzdem unter rsize und wsize 32768 eingetragen,in Wirklichkeit läuft der wsize da aber auch auf 8192 oder ? :P

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hat sich bei einigen anderen auch so herausgestellt, dass mit 100 Halfduplex mit gewissen Routern bessere Werte erzielt werden. Ich hab die Box direkt über Crossover am PC hängen, da geht das nicht.

 

Übrigens bei dir ist doch nur der eine Wert bei 100 Halfduplex besser, der andere ist doch schlechter?

 

Ich bin mir ziemlich sicher dass er auch wenn man 32768 einstellt nur mit 8192 läuft, kann ich aber bei mir aber leider nicht testen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das Prob mit den 8192 ist schon sehr ärgerlich, obwohl es mich nicht betrifft, würde ich gerne die Lösung finden. Hab gestern Abend noch mal gegoogelt, aber wieder nichts gefunden. Soweit ich sehen konnte ist es auf manchen Boards gar nicht bekannt, dass es überhaupt möglich ist eine höhere wsize zu bekommen. Hab dann dort gleich geschrieben, dass es mit dem richtigen OS funzt, um die Leute etwas wach zu rütteln, vielleicht findet ja irgendwer die Lösung.

 

Hab nochmal einen Test gemacht, bei mir beträgt die Verbesserung durch die 32768 wsize 1567 MBit/s - ist nicht grad wenig.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mit 100 Halfduplex sind die Werte aufjedenfall besser,wieso sind die Unterschiede da so groß (ich meine in Schreib-und Lesegeschw.) ?.

 

Nun ich stelle es mir so vor, daß wenn beide auf der gleichen Geschwindigkeit stehen die Daten eben genauso

langsam an den PC weitergereicht werden wie sie am Router ankommen. Bis der Router dem PC mitgeteilt hat,

"achtung iich hab was für Dich" un der dann das Zeugs abholt vergeht wieder etwas zeit, zumal dabei

auch die "Handschake" Geschichte länger dauert.

Ist dagegen die Geschwindigkeit des PC´s höher, entsteht ne Art Datengefälle, wodurch sich am Router

weitaus weniger staut.

 

@Lack

 

auf der Suche naxch der Ursache bin ich mal auf den QOS Packtetpolaner gestossen, weiß Du zufällig

was der für ne Rolle spielt un dem anzen Geschäft?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Spielt glaub ich nur eine Rolle wenn man mehrere Rechner im selben Netzwerk hat. Damit wird die Bandbreite dann irgendwie sinnvoller verteilt, oder so ähnlich. Hab früher schon mal was davon gelesen, hab aber trotzdem nochmal kurz nachgesehen ob sich was finden lässt.

 

Ich hab am Streaming-PC, wie du weißt Server 2003 und bei mir ist dieser Dienst nicht am laufen. Also alleine schon deswegen denke ich dass man da in Richtung höherer wsize nicht viel damit machen kann. Geht ja beim Server auch ohne.

 

Genaueres weiß ich aber auch nicht.

 

Gruß Lack

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Lack

 

Hast Du Server2003 als DC laufen?

Wenn nicht, wie löst Du das Problem mit "SBCORE"?

 

 

gruß schnuff

Wie jetzt?

Ich hab eigentlich kein Problem.

Es geht mir nur darum den Leuten zu helfen die XP haben und daher nicht mehr als 8192 wsize bekommen.

Aber wenn das mit dem "SBCORE" etwas damit zu tun hat wäre das natürlich interessant - kannst uns evt. du mehr Details dazu sagen.

 

Gruß Lack

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.

×
×
  • Neu erstellen...