Dein Skript läuft eben nicht, da ist was kaputt. Und so lange du dein Skript nicht zeigst, wird das ein Ratespiel.
NFS Testergebnisse
Wir haben aktuell ein Problem mit dem Board und arbeiten an der Lösung...
-> Aktuell bereiten wir das Upgrade auf die aktuelle Version 6 von Woltlab vor.
-> Aktuell bereiten wir das Upgrade auf die aktuelle Version 6 von Woltlab vor.
-
-
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
fiecho
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
doneecho "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
-
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 secondsmount: 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 secondsmount: 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 secondsmount: 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 secondsmount: 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 secondsmount: 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 secondsmount: 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 secondsmount: 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 secondsResults for write throughput:
sed: bad option in substitution expression
Results for read throughput:
sed: bad option in substitution expressionund 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
-
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. -
Quote
Fehlermeldungen lesen
Mich deucht, da sind ein paar Backslashes zu viel escaped worden. Die stehen schon zwischen Hochkommas, werden also nicht mehr von der Shell verhunzt.
Coderoot@dm7020hd:~# sed 's/^\\([0-9]*\\)\\([0-9]\\{3\\}\\)\\([0-9]\\{3\\}\\(.*\\)\\)/\\1.\\2 Mbit\\/s\\4/g' sed: bad option in substitution expression root@dm7020hd:~# root@dm7020hd:~# sed 's/^\([0-9]*\)\([0-9]\{3\}\)\([0-9]\{3\}\(.*\)\)/\1.\2 Mbit\/s\4/g' ^D root@dm7020hd:~#
HTH,
Andre. -
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=8192Results 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=8192Nochmals Großen Dank!
-
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"?QuoteResults 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=16384Wundert 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.
QuoteJetzt 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. -
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 -
Mene Zeiten von der 7020 sind sch*
Code
Display MoreMeasuring 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. -
Hi,
ich würde den Test ja auch gerne machen, aber bei mit kommt immer eine Fehlermeldung:CodeMeasuring NFS throughput... Mount options: udp, async, wsize=4096 writing 64 MBytes... Failure Mount options: udp, async, rsize=4096 reading 64 MBytes... Failure
Meine Configuration:
Code# exported directory on your NFS server exportdir=Filme # mount point on dbox dboxmountpoint="/media/net/DEPENDERNFS"
ich glaube das die NFS Freigabe eigentlich in Ordnung sein müsste, weil nach Aufruf des Tests jetzt keine Fehlermeldung dazu kam.Warum kann er wo nicht schreiben?
-
Kurze Frage.
Wie lange läuft der Test?
Hab das Image über DCC angestossen und nach 15min drehender Kreis abgebrochen?
Würde mich Interressieren was meine DM<->NAs bringt.
-
DM8000 -> QNAP TS-569Pro (Anbindung über WiFi-n-Bridge):
Code
Display MoreResults for write throughput: 89.478 Mbit/s with udp,async,wsize=32768 89.478 Mbit/s with udp,async,wsize=16384 76.695 Mbit/s with udp,async,wsize=8192 76.695 Mbit/s with udp,async,wsize=4096 76.695 Mbit/s with tcp,async,wsize=32768 67.108 Mbit/s with tcp,async,wsize=8192 67.108 Mbit/s with tcp,async,wsize=4096 67.108 Mbit/s with tcp,async,wsize=16384 Results for read throughput: 89.478 Mbit/s with udp,async,rsize=8192 89.478 Mbit/s with udp,async,rsize=16384 76.695 Mbit/s with udp,async,rsize=32768 76.695 Mbit/s with tcp,async,rsize=8192 67.108 Mbit/s with udp,async,rsize=4096 67.108 Mbit/s with tcp,async,rsize=4096 67.108 Mbit/s with tcp,async,rsize=32768 67.108 Mbit/s with tcp,async,rsize=16384
Auf der QNAP sieht es so aus:
-
Irgendwie mag die Dreambox mich nicht.
Hab mit DCC-E2 v1.50 über telnet versucht,
aber Zugriff wird verweigert?root@dm800:/tmp# ./nfstest.sh
-sh: ./nfstest.sh: Permission deniedroot@dm800:/usr/script# ./ nfstest
-sh: ./: Permission denied
root@dm800:/usr/script# ./ nfstest.sh
-sh: ./: Permission deniedWo liegt der Fehler?
-
steht in der Fehlermeldung - das Script hat keine Ausführberechtigung.
mit
chmod u+x /tmp/nfstest.sh
oder
chmod 755 /tmp/nfstest.shwird das Script für root ausführbar. Bin mir aber nicht ganz sicher, ob das Script unter OE2.0 noch Sinn macht, weil nur noch Blockrößen bis 8192 zugelassen werden. d.h. mit r/wzise 32768, 16384 und 8192 müsste immer das gleiche Ergebnis rauskommen ...
Die Lese/Schreibperformance des aktuellen nfs mounts kann man auch mit einem "einfachen" Konsolenbefehl testen
-
Anscheinend bin ich echt zu doof.
Habe den Befehl aufgeführt.
Nun:root@dm800:~# chmod 755 /tmp/nfstest.sh
root@dm800:~# cd /tmp
root@dm800:/tmp# ./nfstest
-sh: ./nfstest: not found
root@dm800:/tmp# ./nfstest.sh
-sh: ./nfstest.sh: not found
root@dm800:/tmp#WIe lautet den der einfache Konsolenbefehl?