NFS Testergebnisse |
crun
Newbie
Registration Date: 12.04.2010
Posts: 51
Which box: DM 800S External Storage: HDD Which Image: Gemini
 |
|
Hallo,
ich hatte eigentlich nur das script kopiert und meine Werte eingetragen.
Hier sind meine Einstellungen:
#!/bin/sh
# IP of your NFS server
serverip=192.168.14.33
# exported directory on your NFS server
exportdir=/volume1/Dreambox
# mount point on dbox
dboxmountpoint="/media/net/DS212"
# 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
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 $serverip:$exportdir $dboxmountpoint
echo "Mount options: "$protocol", "$synchronized", wsize="$size
echo "writing "$filesize" MBytes..."
a=`date +%s`
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`
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'
Danke
|
|
20.04.2012 13:45 |
|
|
crun
Newbie
Registration Date: 12.04.2010
Posts: 51
Which box: DM 800S External Storage: HDD Which Image: Gemini
 |
|
Hallo,
hat keiner eine Idee? Ich krieg es nicht hin. Ich bin der Meinung das alles richtig eingegebne ist. Wenn den / vor volume1 weg mach dann kommt folgende Meldung:
root@dm800:/usr/script# ./Speed.sh
Measuring NFS throughput...
mount: 192.168.14.33:volume1/Dreambox failed, reason given by server: Permission denied
Mount options: udp, async, wsize=4096
writing 64 MBytes...
Success after 30 seconds
Mount options: udp, async, rsize=4096
reading 64 MBytes...
Success after 1 seconds
mount: 192.168.14.33:volume1/Dreambox failed, reason given by server: Permission denied
Mount options: tcp, async, wsize=4096
writing 64 MBytes...
Success after 29 seconds
Mount options: tcp, async, rsize=4096
reading 64 MBytes...
Success after 1 seconds
mount: 192.168.14.33:volume1/Dreambox failed, reason given by server: Permission denied
Mount options: udp, async, wsize=8192
writing 64 MBytes...
Success after 29 seconds
Mount options: udp, async, rsize=8192
reading 64 MBytes...
Success after 1 seconds
mount: 192.168.14.33:volume1/Dreambox failed, reason given by server: Permission denied
Mount options: tcp, async, wsize=8192
writing 64 MBytes...
Success after 29 seconds
Mount options: tcp, async, rsize=8192
reading 64 MBytes...
Success after 1 seconds
mount: 192.168.14.33:volume1/Dreambox failed, reason given by server: Permission denied
Mount options: udp, async, wsize=16384
writing 64 MBytes...
Success after 29 seconds
Mount options: udp, async, rsize=16384
reading 64 MBytes...
expr: division by zero
Success after 0 seconds
mount: 192.168.14.33:volume1/Dreambox failed, reason given by server: Permission denied
Mount options: tcp, async, wsize=16384
writing 64 MBytes...
Success after 30 seconds
Mount options: tcp, async, rsize=16384
reading 64 MBytes...
Success after 1 seconds
mount: 192.168.14.33:volume1/Dreambox failed, reason given by server: Permission denied
Mount options: udp, async, wsize=32768
writing 64 MBytes...
Success after 29 seconds
Mount options: udp, async, rsize=32768
reading 64 MBytes...
Success after 1 seconds
mount: 192.168.14.33:volume1/Dreambox failed, reason given by server: Permission denied
Mount options: tcp, async, wsize=32768
writing 64 MBytes...
Success after 29 seconds
Mount options: tcp, async, rsize=32768
reading 64 MBytes...
Success after 1 seconds
Results for write throughput:
sed: bad option in substitution expression
Results for read throughput:
sed: bad option in substitution expression
und danach muss ich die Box neu starten weil der mount weg ist. Am mount sollte alles richtig sein, weil ich aufnehmen und wiedergeben kann. Es ruckelt nur bei Timeshift und da wollte ich mal meine Werte wissen.
Ich bitte um Unterstützung.
Danke
|
|
21.04.2012 15:42 |
|
|
mfgeg
Dreambox Team
    

Registration Date: 09.08.2005
Posts: 11,549
Which box: Goliath External Storage: NFS Which Image: CVS Origin: Confoederatio Helvetica
 |
|
Der / ist schon ok, sonst klappt das mounten nicht,
siehst du ja an der Ausgabe.
Und wenn du nochmals das Script testen willst, dann erstelle in
/media einen Ordner z.B. test und mounte dahin und nicht
in das Verzeichnis vom automounter.
__________________

Hilfe gesucht ? schau mal ins GP WIKI - Kein Support per PN
|
|
21.04.2012 16:45 |
|
|
crun
Newbie
Registration Date: 12.04.2010
Posts: 51
Which box: DM 800S External Storage: HDD Which Image: Gemini
 |
|
Hey Danke, Genial,
die vielen Backslashes waren es. Ich frag mich wie die da hin gekommen sind. Ich hatte das Script aus dem ersten Beitrag in eine txt Datei kopiert und umbenannt. Komisch. Hier mal meine Werte. Jetzt frag ich mich natürlich warum das ruckelt bei Timeshift von HD Sendern?
Results for write throughput:
53.687 Mbit/s with udp,async,wsize=4096
53.687 Mbit/s with udp,async,wsize=32768
53.687 Mbit/s with udp,async,wsize=16384
53.687 Mbit/s with tcp,async,wsize=8192
53.687 Mbit/s with tcp,async,wsize=4096
53.687 Mbit/s with tcp,async,wsize=32768
53.687 Mbit/s with tcp,async,wsize=16384
48.806 Mbit/s with udp,async,wsize=8192
Results for read throughput:
59.652 Mbit/s with udp,async,rsize=4096
59.652 Mbit/s with udp,async,rsize=32768
59.652 Mbit/s with tcp,async,rsize=4096
59.652 Mbit/s with tcp,async,rsize=32768
59.652 Mbit/s with tcp,async,rsize=16384
53.687 Mbit/s with udp,async,rsize=8192
53.687 Mbit/s with udp,async,rsize=16384
53.687 Mbit/s with tcp,async,rsize=8192
Nochmals Großen Dank!
|
|
21.04.2012 20:00 |
|
|
ABPSoft
V.I.P.
  

Registration Date: 15.01.2011
Posts: 322
Which box: DM800; DM7020HD External Storage: USB-Stick; HDD; NFS Which Image: iCVS; OE 2.0; OoZooN Welcher Bildschirm: Samsung UE46C8700 Origin: Spacetime
 |
|
| quote: |
Originally posted by crun
Hey Danke, Genial,
die vielen Backslashes waren es. Ich frag mich wie die da hin gekommen sind. Ich hatte das Script aus dem ersten Beitrag in eine txt Datei kopiert und umbenannt. Komisch. |
Ja, das ist schon ein sehr spezifischer semantischer Eingriff. LF vs. CRLF kann ich ja noch nachvollziehen, aber hier ist wohl ein Editor etwas sehr forsch rangegangen. Bei mir ist auch eine ')' auf mystische Weise verloren gegangen, was bei einem Cut&Paste innerhalb ein und desselben Browsers schon verwirrend ist. Oder war's die nachträgliche Applikation von "Insert CODE"?
| quote: |
Results for write throughput:
53.687 Mbit/s with udp,async,wsize=4096
53.687 Mbit/s with udp,async,wsize=32768
53.687 Mbit/s with udp,async,wsize=16384
53.687 Mbit/s with tcp,async,wsize=8192
53.687 Mbit/s with tcp,async,wsize=4096
53.687 Mbit/s with tcp,async,wsize=32768
53.687 Mbit/s with tcp,async,wsize=16384 |
Wundert sich eigentlich niemand über die erstaunliche Gleichschaltung der Resultate bei unterschiedlichen Messungen? Das ist statistisch unwahrscheinlicher als ein 6er im Lotto.
Hier liegt es daran, dass das Script nur mit integralen Sekunden misst, d.h. bei den beobachteten bescheidenen Durchsätzen von ca 6MB/s und 64MiB Testfilegröße haben wir einen Messfehler von 10%. Dazu kommt der Einfluss des Read Caches, den man in einigen Postings hier im Thread an fantastischen Durchsätzen erkennt, die Faktor 6 über den Möglichkeiten einer 100Base-Schnittstelle liegen...
IMO wird der Test erst einigermaßen rund, wenn man 512MiB als filesize ansetzt. Das reduziert den Einfluss des Buffer Caches selbst auf 256MiB-Boxen halbwegs und nivelliert den Sekunden-Rundungsfehler auf weniger als 2%. Dauert natürlich länger, aber das haben richtige Benchmarks so an sich. 1024MiB wäre noch besser. Ein Test gegen einen kraftvollen Rechner, der eine RAM-Disk exportiert, wäre auch mal interessant, um die Fähigkeiten der Dreambox weitgehend vom Einfluss des unberechenbaren rotierenden Rosts entkoppelt zu sehen.
| quote: |
| Jetzt frag ich mich natürlich warum das ruckelt bei Timeshift von HD Sendern? |
Der Test gestattet keinerlei Aussage über das Verhalten bei Timeshift. Schließlich misst er Schreiben und Lesen sequenziell nacheinander, nicht gleichzeitig. Klar, prinzipiell ist geswitchtes Ethernet heutzutage praktisch immer Full Duplex, aber die Platten im NAS sind es nicht - Timeshift führt dort zu Head Banging und die theoretische isolierte lineare Lese- bzw. Schreibrate geht flöten. Wenn das desktruktiv mit dem eher bescheidenen Sicherheitsabstand im real beobachteten Netzwerkdurchsatz interferiert, ist es vorbei mit ruckelfreiem Timeshift. Zumal dort auch Latenzen eine Rolle spielen, die hier ebenfalls nicht gemessen werden. Weiterhin arbeitet das Script am Durchsatzanschlag, d.h. drückt unerschöpflich neue Daten durch und misst dann irgendwann die benötigte Zeit. Komplexe Systeme verhalten sich u.U. vollkommen anders, wenn die Daten nicht so schnell kommen. Wenn ich Dein NAS mit 25Mbit/s feede, heißt das nicht, dass es noch 50% Reserven hat (das ist eine Annahme des gesunden Menschenverstands, aber die geht von einem nicht bewiesenen linearen Verhalten des Testaufbaus aus).
Kurz gesagt: Würde man sich einen weitgehend realistischen Timeshift-Benchmark basteln, würde der auch Aussagen liefern, die auf Timeshift anwendbar wären
Auch wenn's nicht hilft,
Andre.
|
|
22.04.2012 09:33 |
|
|
crun
Newbie
Registration Date: 12.04.2010
Posts: 51
Which box: DM 800S External Storage: HDD Which Image: Gemini
 |
|
Vielen Dank für deine Aufschlussreiche Erklärung. So tief steck ich natürlich nicht in der Materie. Klingt wenn man es so erklärt bekommt ziemlich logisch. Weißt du ob es einen Benchmark in der Art gibt wie du ihn beschrieben hast? Ich hab das Problem vorerst mit einer 2,5Zoll 80gb Festplatte gelöst die ich noch hatte und jetzt intern verbaut habe. Das hatte ich eigentlich nicht so geplant, wegen der Wärme in dem kleinen Gerät.
Grüße
Crun
|
|
24.04.2012 07:04 |
|
|
Currald
User

Registration Date: 18.04.2007
Posts: 199
Which box: DM 7020S; DM 7025SS External Storage: HDD Which Image: siehe Signatur Origin: Deutschland - Berlin
 |
|
Mene Zeiten von der 7020 sind sch*
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
|
Measuring NFS throughput...
Mount options: udp, async, wsize=4096
writing 64 MBytes...
Success after 26 seconds
Mount options: udp, async, rsize=4096
reading 64 MBytes...
Success after 432 seconds
Mount options: tcp, async, wsize=4096
writing 64 MBytes...
Success after 32 seconds
Mount options: tcp, async, rsize=4096
reading 64 MBytes...
Success after 464 seconds
Mount options: udp, async, wsize=8192
writing 64 MBytes...
Success after 21 seconds
Mount options: udp, async, rsize=8192
reading 64 MBytes...
|
|
und dann ist das Script hängen geblieben.....
Seitdem eich mein NAS umgestellt habe.
Die Freigabe ist seit einiger zeit auf einem RAID-5.
Das sollte aber eigentlich keine Auswirkungen haben.
Denn bei der 7025 sind die Zeiten gut.
__________________ Currald
(DM7020s - OoZooN-Image vom 23.8.2008 )
DM7020HD - Merlin³ vom 20.1.2013
DM7025ss - OoZooN Image vom 2011-09-17
This post has been edited 2 time(s), it was last edited by Currald: 31.05.2012 20:07.
|
|
31.05.2012 20:07 |
|
|
|
|
|
 |
|