NFS Testergebnisse

  • DM 7000:


    Habe gerade ein NFS Speedtest Skript getestet, daß es für die Dbox2 gab.
    Läuft auch auf der DM wunderbar:



    So sahen meine Ergebnisse aus:


    Da war ich etwas enttäuscht, dachte da müsste mehr drin sein.
    Und nun kommts:
    Meine Firewall (Kaspersky Internet Security) lässt zwar alle Ports von der Box durch, scannt aber im Hintergrund den gesamten Traffic!
    Habe dann die einzelne IP der Box als Vertrauenswürdig eingestuft und siehe da:


    Das finde ich heftig, berim lesen 13Mbit/s und beim schreiben 21Mbit/s mehr!


    Vielleicht hilft das hier Leuten mit NFS Performance Problemen.

    "Einen Tag ungestört in Muße zu verleben heißt, einen Tag lang ein Unsterblicher zu sein."


    Die Wertigkeit des Inhalts ist umgekehrt proportional zur Anzahl verwendeter Ausrufe- oder Fragezeichen.

  • hi sedonion


    Besten Dank für das script


    meine results DM600 - Airpot - iMac


    Results for write throughput:
    44.739 Mbit/s with udp,async,wsize=32768
    44.739 Mbit/s with udp,async,wsize=16384
    38.347 Mbit/s with udp,async,wsize=8192
    35.791 Mbit/s with tcp,async,wsize=32768
    35.791 Mbit/s with tcp,async,wsize=16384
    33.554 Mbit/s with udp,async,wsize=4096
    29.826 Mbit/s with tcp,async,wsize=8192
    28.256 Mbit/s with tcp,async,wsize=4096


    Results for read throughput:
    44.739 Mbit/s with udp,async,rsize=32768
    41.297 Mbit/s with udp,async,rsize=8192
    38.347 Mbit/s with udp,async,rsize=16384
    35.791 Mbit/s with tcp,async,rsize=32768
    35.791 Mbit/s with tcp,async,rsize=16384
    33.554 Mbit/s with udp,async,rsize=4096
    33.554 Mbit/s with tcp,async,rsize=8192
    26.843 Mbit/s with tcp,async,rsize=4096

  • hallo versuche auch diesen test zu machen nur gehts leider nicht das verzeichniss ist gemountet kann auch drauf zugreifen aber bekomme immer diese meldung: Invalid argument, ich benutze eine dbox2 mit pb-enigma und eine dm7020 mit gp4



    /tmp # ./nfstest


    Measuring NFS throughput...
    Mount options: udp, async, wsize=4096
    writing 64 MBytes...
    Success after 101 seconds
    Mount options: udp, async, rsize=4096
    reading 64 MBytes...
    Success after 95 seconds


    mount: Mounting 192.168.178.3:/hdd/movie/ on /hdd/movie/ failed: Invalid argumen
    t
    Mount options: tcp, async, wsize=4096
    writing 64 MBytes...
    Failure
    Mount options: tcp, async, rsize=4096
    reading 64 MBytes...
    Success after 30 seconds




    meine nfstest config:


    #!/bin/sh
    # IP of your NFS server
    serverip=192.168.178.3
    # exported directory on your NFS server
    exportdir=/hdd/movie
    # mount point on dbox
    dboxmountpoint="/hdd/movie/"
    # filesize to transfer in MBytes.
    # At least 8 MByte. Good values are 32 or 64 MByte.
    # Try 128 to be more accurate (takes much longer!)
    filesize=64
    # block sizes to test in KBytes, possible values are 1 2 4 8 16 32.
    # values have to be separated with spaces. See examples below.
    # blocksizelist="4 8 32"
    # blocksizelist="16"
    blocksizelist="4 8 16 32"
    # wether to enable synchronous reading, writing. Possible values are "yes"
    # or no. Normally synchronous reading or writing should be slower than
    # asynchronous, so to save some time most people would say "no" here.
    enablesynctests="no"



    ##################################################################
    ######## don't edit below this line ########
    ##################################################################


    bs=8192
    count=`expr $filesize \* 1048576 / $bs`
    wlist=""
    rlist=""
    synctests="async"
    if [ $enablesynctests = "yes" ]; then
    synctests="sync "$synctests
    fi


    if [ ! -e /tmp/time ];then
    ln -s /tmp/busy /tmp/time
    fi


    if [ ! -e /tmp/dd ];then
    ln -s /tmp/busy /tmp/dd
    fi


    echo
    echo "Measuring NFS throughput..."
    for factor in $blocksizelist
    do
    for protocol in udp tcp
    do
    for synchronized in $synctests
    do
    size=`expr $factor \* 1024`
    bitcount=`expr $bs \* $count \* 8`
    umount $dboxmountpoint 2>/dev/null
    mount -t nfs -o rw,soft,$protocol,nolock,$synchronized,rsize=$size,wsize=$size,rsize=$size $serverip:$exportdir $dboxmountpoint
    echo "Mount options: "$protocol", "$synchronized", wsize="$size
    echo "writing "$filesize" MBytes..."
    a=`date +%s`
    /tmp/dd if=/dev/zero of=$dboxmountpoint/test bs=$bs count=$count 2>/dev/null;
    if [ $? = "0" ]
    then
    z=`date +%s`
    duration=`expr $z - $a`
    throughput=`expr $bitcount / $duration`
    echo "Success after "$duration" seconds"
    else
    throughput="Failure"
    echo "Failure"
    fi
    wlist=$wlist$throughput" with "$protocol","$synchronized",wsize="$size"\n"

    echo "Mount options: "$protocol", "$synchronized", rsize="$size
    echo "reading "$filesize" MBytes..."
    a=`date +%s`
    /tmp/dd of=/dev/null if=$dboxmountpoint/test bs=$bs count=$count 2>/dev/null;
    if [ $? = "0" ]
    then
    z=`date +%s`
    duration=`expr $z - $a`
    throughput=`expr $bitcount / $duration`
    echo "Success after "$duration" seconds"
    else
    throughput="Failure"
    echo "Failure"
    fi
    rlist=$rlist$throughput" with "$protocol","$synchronized",rsize="$size"\n"
    echo
    done
    done
    done


    echo "Results for write throughput:"
    echo -e $wlist | sort -nr | sed 's/^\([0-9]*\)\([0-9]\{3\}\)\([0-9]\{3\}\(.*\)\)/\1.\2 Mbit\/s\4/g'


    echo "Results for read throughput:"
    echo -e $rlist | sort -nr | sed 's/^\([0-9]*\)\([0-9]\{3\}\)\([0-9]\{3\}\(.*\)\)/\1.\2 Mbit\/s\4/g'

  • hi hoddelac


    Dein exportdir und der dboxmountpoint scheint identisch zu sein


    # exported directory on your NFS server
    exportdir=/hdd/movie


    # mount point on dbox
    dboxmountpoint="/hdd/movie/"


    hier mal meine als vergleich


    # exported directory on your NFS server
    exportdir=Users/whp/Movies/dream


    # mount point on DreamBox
    dboxmountpoint="/media/iMac"

  • Dumme Frage, aber wie kann ich so ein Script ausführen?


    Ich möchte meine nfs geschwindigkeit ermitteln da ich probleme bei der aufnahme auf NAS habe.

  • Z.B. ins /tmp oder /var/scripts kopieren
    CHMOD auf 755 setzen
    per Telnet auf die Box und ins Verzeichnis wechseln
    dann ./scriptname.sh

    "Einen Tag ungestört in Muße zu verleben heißt, einen Tag lang ein Unsterblicher zu sein."


    Die Wertigkeit des Inhalts ist umgekehrt proportional zur Anzahl verwendeter Ausrufe- oder Fragezeichen.

  • Hat funktioniert. Es kommt folgendes ergebnis raus:


    Results for write throughput:
    31.580 Mbit/s with udp,async,wsize=32768
    31.580 Mbit/s with udp,async,wsize=16384
    31.580 Mbit/s with tcp,async,wsize=32768
    28.256 Mbit/s with udp,async,wsize=8192
    26.843 Mbit/s with tcp,async,wsize=8192
    25.565 Mbit/s with tcp,async,wsize=16384
    19.884 Mbit/s with tcp,async,wsize=4096
    -e 24403223 with udp,async,wsize=4096


    Results for read throughput:
    41.297 Mbit/s with udp,async,rsize=32768
    41.297 Mbit/s with udp,async,rsize=16384
    38.347 Mbit/s with udp,async,rsize=8192
    33.554 Mbit/s with tcp,async,rsize=16384
    31.580 Mbit/s with tcp,async,rsize=8192
    29.826 Mbit/s with tcp,async,rsize=32768
    25.565 Mbit/s with tcp,async,rsize=4096
    -e 31580641 with udp,async,rsize=4096


    nas ist ein pIII 733 mit 256 und freeNAS.


    Was soll ich jetzt eurer Meinung nach anwenden?

  • Aus meiner Sicht recht eindeutig.


    async, udp, rsize und wsize auf 16384.


    Habe auch diese Woche erst gelesen, daß NFS nur unter Windows 2003 Server size-Werte von 32768 unterstützt.


    Daher auch die gleichen Werte bei 16384 und 32768.


    Und 31 bzw. 41Mbit ist doch klasse.

    "Einen Tag ungestört in Muße zu verleben heißt, einen Tag lang ein Unsterblicher zu sein."


    Die Wertigkeit des Inhalts ist umgekehrt proportional zur Anzahl verwendeter Ausrufe- oder Fragezeichen.

  • Werd ich mal versuchen. Vielleicht wird mein Problem hier dann besser.


    Neben bei; ich hab das NAS unter Netzwerk/Experten/Freigaben als auf /mnt/hdd gemountet, wo ist diese config-Datei eigentlich versteckt?


    Laut FreeNAS sollten bei Linux-Verbindungen die mount-optionen folgende sein:


    rw,soft,udp,nolock,rsize=65536,wsize=65536,timeo=14,intr


    wobei ich ja getestet habe, das rsize und wsize mit 16384 die besten Ergebnisse liefern. Aber wie kann ich timeo=14 und intr bei den mount-optionen noch mit reinpacken?

  • Gute Frage, die Option sagt mir nichts.


    Kannst Du doch unter Options mit angeben, einfach hinten mit Komma abgetrennt anhängen.


    Ich weiß nur nicht ob Gemini die Option unterstützen muss.

    "Einen Tag ungestört in Muße zu verleben heißt, einen Tag lang ein Unsterblicher zu sein."


    Die Wertigkeit des Inhalts ist umgekehrt proportional zur Anzahl verwendeter Ausrufe- oder Fragezeichen.

  • Ok, schau ich mal heute abend dann ob's geht. Ne config-Datei wäre halt schöner zu editieren, aber in Automount von Gemini lässt sich das nfs-Laufwerk ja nicht direkt als /mnt/hdd mounten. Oder lieg ich da Falsch?

  • Du hattest recht, man kann noch zusätzliche optionen eingeben, auch wenn man Komma und Punkt kaum unterscheiden kann. Denn ich jetzt per Telnet die Mountpunkte anzeigen lasse erhalte ich:


    192.168.1.30:/mnt/nas1/ on /var/mnt/hdd type nfs (rw,v3,rsize=16384,wsize=16384,soft,intr,udp,nolock,addr=192.168.1.30)


    sieht gut aus, aber was soll v3 bedeuten ?

  • NFS Version 3, das ist wichtig.
    V2 (wie z.B. der kostenlose Allegro Server für Windows) unterstützt nur Dateigrößen bis 2GB. Version 3 wesentlich mehr; wieviel genau weiß ich nicht.
    Aber bis 11GB hatte ich es schon getestet.

    "Einen Tag ungestört in Muße zu verleben heißt, einen Tag lang ein Unsterblicher zu sein."


    Die Wertigkeit des Inhalts ist umgekehrt proportional zur Anzahl verwendeter Ausrufe- oder Fragezeichen.

  • kann es sein das das script nicht mehr läuft? hab gemini 4.2 auf einer 7000er
    ich habs nach tmp und var/script kopiert und probiert,,,
    telnet sagt mit immer "not found.. eh? was mach ich bloss falsch?
    die rechte sind auf 755


    das file heisst NFSspeedtest.sh
    ich gebe ein: ./NFSspeedtest.sh
    hab auch mit filename: ns.sh probiert... gleiches resultat.. aahrghh...


    hier die config:


    #!/bin/sh
    # IP of your NFS server
    serverip=192.168.1.166
    # exported directory on your NFS server
    exportdir=/movie
    # mount point on dbox
    dboxmountpoint="/var/share/n299"
    # filesize to transfer in MBytes.
    # At least 8 MByte. Good values are 32 or 64 MByte.
    # Try 128 to be more accurate (takes much longer!)
    filesize=64
    # block sizes to test in KBytes, possible values are 1 2 4 8 16 32.
    # values have to be separated with spaces. See examples below.
    # blocksizelist="4 8 32"
    # blocksizelist="16"
    blocksizelist="4 8 16 32"
    # wether to enable synchronous reading, writing. Possible values are "yes"
    # or no. Normally synchronous reading or writing should be slower than
    # asynchronous, so to save some time most people would say "no" here.
    enablesynctests="no"



    hat mir jemand ein tip? schnalle echt nicht was ich falsch mache..
    LG aus den kalten alpen


    fände das script echt genial.. am liebsten sogar im flexmenu..

    DM8000+DM800, TS409Pro
    Gemini 4.3, T90 , Harmony 785, 2 multi17/8

    Einmal editiert, zuletzt von ro2 ()

  • Du befindest Dich beim Aufruf auch im /var/script Verzeichnis?


    Genaue Fehlermeldung bitte.

    "Einen Tag ungestört in Muße zu verleben heißt, einen Tag lang ein Unsterblicher zu sein."


    Die Wertigkeit des Inhalts ist umgekehrt proportional zur Anzahl verwendeter Ausrufe- oder Fragezeichen.

  • sedonion
    sehr gerne..
    hab telnet am pc und telnet im dcc probiert..


    root@dreambox:/var/script> ./nfstest.sh
    -sh /nfstest.sh: not found


    not found.. ich seh das ding doch und rechte sind auch auf 755..


    erinnert mich an alte DOS-zeiten als man noch den pfad der command.com angeben musste..
    aber denke var/script ist doch nett fur sh's ?!
    warum eigentlich vor dem sh das "./"?
    hab ohne auch probiert...
    (die bemerkung outet mich wohl als :face_with_rolling_eyes:)


    gruss ro2

    DM8000+DM800, TS409Pro
    Gemini 4.3, T90 , Harmony 785, 2 multi17/8

  • EDIT
    hat doch noch geklappt,
    der mount war nicht sauber und der aufruf hatte ich mit
    -sh anstatt nur sh gemacht
    beiliegend die ergebnisse
    danke an alle

  • Moin, moin


    Habe eben auf meiner DM 7025 mal den Test laufen lassen und bekomme folgendes Ergebnis:
    Results for write throughput:
    29.826 Mbit/s with udp,async,wsize=4096
    29.826 Mbit/s with udp,async,wsize=32768
    29.826 Mbit/s with tcp,async,wsize=4096
    29.826 Mbit/s with tcp,async,wsize=32768
    29.826 Mbit/s with tcp,async,wsize=16384
    28.256 Mbit/s with udp,async,wsize=16384
    26.843 Mbit/s with udp,async,wsize=8192
    26.843 Mbit/s with tcp,async,wsize=8192


    Results for read throughput:
    7.895 Mbit/s with udp,async,rsize=8192
    7.561 Mbit/s with udp,async,rsize=4096
    7.561 Mbit/s with udp,async,rsize=32768
    7.561 Mbit/s with tcp,async,rsize=8192
    7.561 Mbit/s with tcp,async,rsize=4096
    7.561 Mbit/s with tcp,async,rsize=16384
    7.456 Mbit/s with udp,async,rsize=16384
    7.064 Mbit/s with tcp,async,rsize=32768


    Das bestätigt auch meine Vermutung, dass das Lesen zu langsam geht, d.h. beim Abspielen von Videos hängt es immer wieder.


    Gibt es eine Möglichkeit, um die Geschwindigkeit dort etwas zu erhöhen?


    Als zusätzliche Info: DM 7025 (GP 3.90) verbunden mit Synology DS107+ über Allnet PowerLan 200MBit.


    Wäre sehr dankbar für Hilfe.


    Grüße,
    Florian

  • Hallo,


    wollte das ganze auch mal für das Zusammenspiel der DM8K und DM7025 mit meinem qnap ts-109pro testen.


    Ich bekomme aber beim Ausführen immer folgende Meldung:

    Code
    : not found1: 
    : not found2: 
    : not found6: 
    expr: non-numeric argument
    ./nfs.sh: 39: Syntax error: word unexpected (expecting "do")


    Was mache ich denn falsch?

    Gruß arucar


    1. Box: DM8000, HDD 3,5'' 500 GB
    2. Box: DM7025, HDD 2,5''
    Externer Speicher: Synology DS209+II, 2 x 1,5 TB (RAID1)