Hallo,
ich habe hier einen Kingston DTSE9 mit 8GB. Drauf ist ein ca. 8GB großes ext2, dieses ist gemountet mit noatime,sync und ich kopiere gerade ein DVD-Image mit rsync (wegen der Angabe der Transferrate) drauf:
Ist das normal:
rsync --append -i -Pv /home/heiko/Downloads/*iso /mnt/boot-isos/ 697335808 14% 265.39kB/s 4:09:26 °°°°°°°°°°
Auch ohne "sync" gemounted sieht es so aus, nur daß da am Anfang natürlich wegen der Puffer auch 40…60 MB/s erreicht werden.
?? Wer sind in solch einem Fall die üblichen Verdächtigen? Am Anfang ging es schneller, da waren es wenigstens ca. 1..2 MB/s.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hallo Heiko,
was meinst du mit "Am Anfang ging es schneller"? Ist der Stick älter? (viele defekte Speicherbereiche?)
Ich habe mit den unterschiedlichsten Chipsätzen entsprechend unterschiedliche Erfahrungen bei der Performance gemacht.
Der eine oder andere Stick hatte auch eine recht eigenwillige Interpretation was "USB" (Schnittstellen Implementierung) ist ;)
Das Filesystem ist ok?
On 02.11.2012 16:13, Heiko Schlittermann wrote:
Hallo,
ich habe hier einen Kingston DTSE9 mit 8GB. Drauf ist ein ca. 8GB großes ext2, dieses ist gemountet mit noatime,sync und ich kopiere gerade ein DVD-Image mit rsync (wegen der Angabe der Transferrate) drauf:
Ist das normal:
rsync --append -i -Pv /home/heiko/Downloads/*iso /mnt/boot-isos/ 697335808 14% 265.39kB/s 4:09:26 °°°°°°°°°°
Auch ohne "sync" gemounted sieht es so aus, nur daß da am Anfang natürlich wegen der Puffer auch 40?60 MB/s erreicht werden.
?? Wer sind in solch einem Fall die üblichen Verdächtigen? Am Anfang ging es schneller, da waren es wenigstens ca. 1..2 MB/s.
_______________________________________________ Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd
- -- Mit freundlichen Grüßen / With kind regards
Jan Leonhardt
IT-Dienstleistungen IT-Konsultant Administration Softwareentwicklung
Jan Leonhardt jan@cyberdesigner.net (Fr 02 Nov 2012 16:56:04 CET):
-----BEGIN PGP SIGNED MESSAGE----- was meinst du mit "Am Anfang ging es schneller"? Ist der Stick älter? (viele defekte Speicherbereiche?)
Zu Beginn des Transfers.
Das Filesystem ist ok?
Ich hatte es 3 Minuten vorher mit `mkfs -t ext2` drauf getan.
Hallo Heiko,
auch Flash kann kaputtgehen und dann fängt der interne Controller an umzuadressieren.
Vielleicht "belästigst" Du ihn diesmal nur mit vielen kleinen Dateien, was Du sonst nicht tust (oder rsync im Gegensatz zum cp/mv)?
Hattest Du einst einen anderen Kern, der für USB-Wechselmedien anders cachte?
Naja, und dann kommen wir zum klassischen SSD-Problem "wear-leveling" : http://www.techwriter.de/thema/usb-mem0.htm#speed
Mit freundlichen Grüßen / Kind regards Ronny Seffner
Ronny Seffner ronny@seffner.de (Fr 02 Nov 2012 17:24:59 CET):
Hallo Heiko, auch Flash kann kaputtgehen und dann fängt der interne Controller an umzuadressieren.
Ich hatte ihn 5 Minuten vorher aus dem Blister rausgekämpft. War also jungfräulich. Das 2. Exemplar verhielt sich nicht wirklich anders.
Vielleicht "belästigst" Du ihn diesmal nur mit vielen kleinen Dateien, was Du sonst nicht tust (oder rsync im Gegensatz zum cp/mv)?
Nein, ich belästige ihn mit einem großen DVD-Image.
Hattest Du einst einen anderen Kern, der für USB-Wechselmedien anders cachte?
Einst? Es war alles heute Nachmittag.
Naja, und dann kommen wir zum klassischen SSD-Problem "wear-leveling" : http://www.techwriter.de/thema/usb-mem0.htm#speed
Hm. Ich werde noch mal gucken, ob ich systematische Versuche anstellen kann.
Danke schon mal für die Antworten.
Am Freitag, 2. November 2012, 16:13:15 schrieb Heiko Schlittermann:
Hallo,
ich habe hier einen Kingston DTSE9 mit 8GB. Drauf ist ein ca. 8GB groÃes ext2, dieses ist gemountet mit noatime,sync und ich kopiere gerade ein DVD-Image mit rsync (wegen der Angabe der Transferrate) drauf:
Ist das normal:
rsync --append -i -Pv /home/heiko/Downloads/*iso /mnt/boot-isos/ 697335808 14% 265.39kB/s 4:09:26 °°°°°°°°°°
Auch ohne "sync" gemounted sieht es so aus, nur daà da am Anfang natürlich wegen der Puffer auch 40â¦60 MB/s erreicht werden.
?? Wer sind in solch einem Fall die üblichen Verdächtigen? Am Anfang ging
es
schneller, da waren es wenigstens ca. 1..2 MB/s.
Hardware: teilt der USB-Controller diesen USB-Port mit einem anderen, benutzten? (Das führt ggf. zu sehr merkwürdigen Datenraten ...)
Bernhard
Hallo,
vielen Dank für die vielen Antworten. Ich habe jetzt mal systematisch gearbeitet.
Erstmal habe ich die Blocksize für das Schreiben auf den Stick ermittelt. Dafür habe ich „dd oflag=direct bs=<blocksize>“ verwendet und immer 512MB geschrieben. Ich hoffe, daß ich mit diesem „direct“. (Was mir gerade auffällt: ich habe das nicht mit Root-Rechten gemacht. Darf „luser“ auch Direct I/O machen?)
http://www.schlittermann.de/misc/stick-blocksize.png
64k *scheint* eine gute Blockgröße zu sein.
[dd oflag=direct if=/dev/zero of=/dev/sdb bs=64k count=8192] => 3.8 MB/s [dd oflag=direct if=/dev/zero of=/dev/sdb bs=256k count=2048] => 3.7 MB/s [dd oflag=direct if=/dev/zero of=/dev/sdb bs=32k count=16384] => 3.5 MB/s [dd oflag=direct if=/dev/zero of=/dev/sdb bs=128k count=4096] => 3.5 MB/s [dd oflag=direct if=/dev/zero of=/dev/sdb bs=16k count=32768] => 2.8 MB/s [dd oflag=direct if=/dev/zero of=/dev/sdb bs=8k count=65536] => 2.1 MB/s [dd oflag=direct if=/dev/zero of=/dev/sdb bs=4k count=131072] => 1.3 MB/s
Für die folgenden Versuche hatte ich trotzdem mit 128k gearbeitet, weil ... ich hatte mich verguckt.
Nun die Geschwindigkeiten im Einzelnen, einmal über der Zeit, und einmal über die Menge der geschriebenen Daten.
http://www.schlittermann.de/misc/speed-size.png http://www.schlittermann.de/misc/speed-time.png
Gearbeitet wurde immer mit „dd bs=128k“, manchmal direkt auf den Stick, manchmal in ein Filesystem, welches auf dem Stick war. Wenn es in ein Filesystem ging, dann war es ohne irgendwelche Besonderheiten gemountet.
Die 128k Blockgröße hatte ich vorher als die ermittelt, bei der ein „dd“ auf den Stick am schnellsten war.
Ca. 3MB/s scheint dann immer die „Dauerleistung“ zu sein beim 8GB Stick. Hätte ich mir besser vorgestellt.
Bei einem baugleichen Stick mit 16 GB (statt 8GB) erreiche ich grob das doppelte. Das deutet auf interne Parallelisierung. Aber da kenne ich mich nicht wirklich aus.
Warum das rsync so langsam wird, muß ich noch ermitteln.
Hallo,
ich bin am WE auf der Suche nach der optimalen Blocksize um via dd ein Raspbian-Image auf SDCard zu bekommen über folgenden Beitrag gestolpert:
http://blogofterje.wordpress.com/2012/01/14/optimizing-fs-on-sd-card/
Nachdem ich heute den Thread hier gelesen habe, musste ich das mal ausprobieren - zum Testen habe ich eine betagtere 2GB µSD-Karte, vorher einmal komplett mit zufälligen Daten beschrieben, verwendet ...
... für "systematisch" müsste man mal jede Mountoption in Zusammenhang mit den Optionen von mkfs.ext4 durchprobieren - ich habe jetzt aus Zeitgründen Tests ausgelassen bzw. aufgrund der Dauer abgebrochen ...
...das Ergebnis ist aber dann doch imo recht interessant ...
... die Option sync von mount hat hier wohl direkt negative Auswirkungen ...
für meine Karte:
mkfs.ext4 -O ^has_journal -E stride=2,stripe-width=512 -b 4096 /dev/mmcblk0p1
Ergebnis mount ohne Optionen für eine große Datei:
time ( mount /dev/mmcblk0p1 /media/flash && cd flash && sync; rm testing; sync; ( dd if=/dev/zero of=testing bs=16k count=10000; sync); cd .. && umount flash )
10000+0 Datensätze ein 10000+0 Datensätze aus 163840000 Bytes (164 MB) kopiert, 0,271188 s, 604 MB/s
real 0m21.280s user 0m0.016s sys 0m0.376s
Ergebnis mount -o sync,noatime
time ( mount -o sync,noatime /dev/mmcblk0p1 /media/flash && cd flash && sync; rm testing; sync; ( dd if=/dev/zero of=testing bs=16k count=10000; sync); cd .. && umount flash )
10000+0 Datensätze ein 10000+0 Datensätze aus 163840000 Bytes (164 MB) kopiert, 93,7794 s, 1,7 MB/s
real 1m34.320s user 0m0.016s sys 0m3.520s
... etwas mehr dazu (auch zu vielen kleinen Dateien) in dieser PDF, Seite 1-4 (5-7 sind meine 16GB SDCard - damit bin ich noch nicht durch, aber der Effekt scheint da nicht besonders groß zu sein) ...
http://www.file-upload.net/download-6781170/sdcard-bench.pdf.html
Alex
Am 05.11.2012 12:42, schrieb Heiko Schlittermann:
Hallo,
vielen Dank für die vielen Antworten. Ich habe jetzt mal systematisch gearbeitet.
Erstmal habe ich die Blocksize für das Schreiben auf den Stick ermittelt. Dafür habe ich „dd oflag=direct bs=<blocksize>“ verwendet und immer 512MB geschrieben. Ich hoffe, daß ich mit diesem „direct“. (Was mir gerade auffällt: ich habe das nicht mit Root-Rechten gemacht. Darf „luser“ auch Direct I/O machen?)
http://www.schlittermann.de/misc/stick-blocksize.png
64k *scheint* eine gute Blockgröße zu sein.
[dd oflag=direct if=/dev/zero of=/dev/sdb bs=64k count=8192] => 3.8 MB/s [dd oflag=direct if=/dev/zero of=/dev/sdb bs=256k count=2048] => 3.7 MB/s [dd oflag=direct if=/dev/zero of=/dev/sdb bs=32k count=16384] => 3.5 MB/s [dd oflag=direct if=/dev/zero of=/dev/sdb bs=128k count=4096] => 3.5 MB/s [dd oflag=direct if=/dev/zero of=/dev/sdb bs=16k count=32768] => 2.8 MB/s [dd oflag=direct if=/dev/zero of=/dev/sdb bs=8k count=65536] => 2.1 MB/s [dd oflag=direct if=/dev/zero of=/dev/sdb bs=4k count=131072] => 1.3 MB/s
Für die folgenden Versuche hatte ich trotzdem mit 128k gearbeitet, weil ... ich hatte mich verguckt.
Nun die Geschwindigkeiten im Einzelnen, einmal über der Zeit, und einmal über die Menge der geschriebenen Daten.
http://www.schlittermann.de/misc/speed-size.png http://www.schlittermann.de/misc/speed-time.png
Gearbeitet wurde immer mit „dd bs=128k“, manchmal direkt auf den Stick, manchmal in ein Filesystem, welches auf dem Stick war. Wenn es in ein Filesystem ging, dann war es ohne irgendwelche Besonderheiten gemountet.
Die 128k Blockgröße hatte ich vorher als die ermittelt, bei der ein „dd“ auf den Stick am schnellsten war.
Ca. 3MB/s scheint dann immer die „Dauerleistung“ zu sein beim 8GB Stick. Hätte ich mir besser vorgestellt.
Bei einem baugleichen Stick mit 16 GB (statt 8GB) erreiche ich grob das doppelte. Das deutet auf interne Parallelisierung. Aber da kenne ich mich nicht wirklich aus.
Warum das rsync so langsam wird, muß ich noch ermitteln.
Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd
lug-dd@mailman.schlittermann.de