Die Schreibgeschwindigkeit der SD-Karte scheint 14-mal langsamer zu sein als die Lesegeschwindigkeit

11

Ich habe heute Abend mit einem internen Kartenleser von Mac Book Air auf eine SD-Karte geschrieben, und die gemeldete Leistung betrug 1,4 MB / s. Ich später las es auf dem Raspberry Pi und bekam 20 MB / s getestet. Es ist eine Karte der Klasse 6 und keine dieser Figuren klingt realistisch!

Ich benutze ddfür meine Tests. Ergebnisse identischer Lese- und Schreibtests auf beiden Computern:

Raspberry Pi: Lesen Sie 20 MB / Sek. Schreiben Sie 11 MB / s ...
Luft: Lesen Sie 3 MB / s. Schreiben Sie 1,4 MB / s

Verwenden Sie diese Befehle:

Test schreiben:

sudo dd if=/dev/zero of=/dev/mmcblk0p3 bs=1M count=400

Test lesen:

sudo dd of=/dev/null if=/dev/mmcblk0p3 bs=1M count=400

Dies weist darauf hin, dass die wahrgenommene Anomalie tatsächlich eine schlechte Leistung des integrierten Mac Book Air SD-Kartenlesers war! Dies führt zu einer sehr langsamen Bilderzeugung.

ScrollerBlaster
quelle
Sandisk behauptet, dass Karten der Klasse 6 eine Lesegeschwindigkeit von 20 MBit / s haben, obwohl Kingston behauptet, dass 15 MBit / s die Lesegeschwindigkeit für Karten der Klasse 6 ist. Ich weiß nicht, ob das Mac Book einen integrierten SD-Kartenleser hat oder nicht. Bei externen (USB 2.0) Versionen ist jedoch auch die Qualität des SD-Kartenlesers (welche Chips usw. verwendet werden) von Bedeutung für die Gesamtleistung. Mit diesen Geräten ist das Lesen jedoch immer schneller als das Schreiben.
Ikku
Vielen Dank. Es ist integriert. Ziemlich gute Leseleistung. Wirklich schlechte Schreibleistung.
ScrollerBlaster

Antworten:

6

Die Geschwindigkeitsklasse der SD-Karte gibt die minimale Lese- / Schreibleistung an, die die Karte während der Videoaufnahme haben sollte. Die Klassennummer ist die untere Geschwindigkeitsbegrenzung in MB / s, die Sie bei Verwendung der Karte erhalten sollten.

Beachten Sie jedoch, dass das Lesen von Karten normalerweise viel einfacher (und damit schneller) ist als das Schreiben. Aus diesem Grund hat eine normale Karte der Klasse 6 eine Schreibgeschwindigkeit von 6 MB / s und eine Lesegeschwindigkeit von 15 bis 20 MB / s (es sind jedoch nur 6 MB / s erforderlich).

Die Lese- / Schreibgeschwindigkeit kann nicht nur durch eine Karte, sondern auch durch viele verschiedene Faktoren, sowohl Hardware als auch Software, begrenzt werden. Insbesondere kann es durch einige Probleme mit dem Kartenleser / -schreiber eingeschränkt sein.

In Ihrer Situation scheint Ihre Karte auf Ihrem Mac Book Air eine wirklich schlechte Leistung zu haben, während sie auf RaspberryPi eine ordnungsgemäße (und realistische) Leistung aufweist. Wir können uns jedoch nicht sicher sein, da Sie die Schreibgeschwindigkeit auf dem Mac Book und die Lesegeschwindigkeit auf RaspberryPi getestet haben und sie, wie bereits erwähnt, nicht vergleichbar sind. Es ist auch schwierig zu kommentieren, warum Sie solche Ergebnisse erhalten, da Sie nicht angegeben haben, wie Sie diese Geschwindigkeiten testen.

Krzysztof Adamski
quelle
Ich muss Lesen und Schreiben auf beiden Plattformen testen. Ich benutzedd
ScrollerBlaster
@ScrollerBlaster: Sie können die Lese- und Schreibgeschwindigkeit nicht miteinander vergleichen. Ebenso ist es eine gute Faustregel, wenn Sie so gut wie alles testen, jeweils nur eine Sache zu ändern. Sie haben jedoch alles (Betriebssystem, Host-Computer, Kartenleser) außer einer Sache (SD-Karte) in Ihrem Setup geändert, sodass Sie keine aussagekräftigen Ergebnisse erzielen.
Krzysztof Adamski
Ich habe gesagt, ich werde Lesen und Schreiben auf demselben Betriebssystem vergleichen. Haben Sie ein Problem mit diesem Ansatz?
ScrollerBlaster
@ScrollerBlaster: Nein, überhaupt nicht. Ich wollte nur klarstellen, was ich damit meine, dass sie in meiner Antwort nicht vergleichbar sind. Denken Sie daran, dass diese Antwort nicht nur für Sie, sondern für alle anderen Personen gilt, die in Zukunft möglicherweise ähnliche Probleme haben. Deshalb versuche ich, meinen Rat so allgemein wie möglich zu gestalten.
Krzysztof Adamski
Als Sie in Ihrem Beitrag darauf hinwiesen, dass mein Test keine Äpfel und Orangen verglich, war dies ein sehr gültiger Punkt. In meinem ersten Kommentar habe ich angegeben, dass ich den Test wiederholen würde, was bedeutet, dass ich das Lesen und Schreiben auf beiden Plattformen wiederholen würde. Danach war Ihr späterer Rat an mich unnötig. Zukünftig sind alle Schlussfolgerungen zu Air versus PI noch verfrüht. Der relevanteste Test ist ein Lese- / Schreibtest auf dem PI, da dies ein PI-Forum ist. Wenn Sie ddBefehle haben, um einen sicheren Schreibtest durchzuführen, werde ich sie verwenden!
ScrollerBlaster
10

Um die beste Geschwindigkeit aus dem SD-Steckplatz Ihres MacBook herauszuholen, müssen Sie ein "Raw Disk" -Gerät verwenden.

Dies ist eine SanDisk Ultra Class 10-Karte:

~/Desktop/rpi $ sudo dd if=2012-12-16-wheezy-raspbian.img of=/dev/disk1 bs=8m
231+1 records in
231+1 records out
1939865600 bytes transferred in 1076.078932 secs (1802717 bytes/sec)

Vergleichen Sie dies mit /dev/rdisk1anstelle von/dev/disk1

~/Desktop/rpi $ sudo dd if=2012-12-16-wheezy-raspbian.img of=/dev/rdisk1 bs=1m
1850+0 records in
1850+0 records out
1939865600 bytes transferred in 129.712100 secs (14955163 bytes/sec)

1,8 MB / s im Vergleich zu 14,9 MB / s - fast das 10- fache der Verbesserung!

Bert
quelle
Was ist der Unterschied zwischen Festplatte und Festplatte?
Valentt
"Sie befinden sich näher an der physischen Festplatte als am Puffercache. / Dev / disk-Knoten hingegen sind gepufferte blockspezifische Geräte und werden hauptsächlich vom Dateisystemcode des Kernels verwendet." - hidutilWeitere Informationen finden Sie in der Manpage.
Bert
1
Dies ist möglicherweise irreführend, da sich die Blockgröße zwischen den beiden Tests geändert hat.
Nick
FWIW: Ich habe die Blockgröße auf 1 m und das Gerät / dev / rdisk1 geändert und meine Schreibgeschwindigkeit ist mit einer Klasse-10-Karte von ~ 1,75 MB / s auf ~ 11,4 MB / s gestiegen.
Gardner Bickford
Ich kann dies bestätigen - das Schreiben eines Images für meine RPi-SD-Karte ist 20-mal schneller, wenn ich rdisk2 verwende. Ich habe die Blockgröße dafür konstant gehalten (4m). Mit / dev / disk2 schreibt gdd mit 197 kB / s. Mit / dev / rdisk2 schreibt es mit 10,6 MB / s
judepereira
1

Sie können diese Befehle auch zum Benchmarking verwenden, ohne den Cache zu beeinflussen, der in den RAM geladen wird:

Lesegeschwindigkeits-Benchmark: $ sudo dd if = / dev / sdX1 von = / dev / zero bs = 1M count = 400 iflag = direct

Schreibgeschwindigkeits-Benchmark: $ sudo dd if = / dev / zero von = / dev / sdX1 bs = 1M count = 400 skip = 1000 oflag = direct

Stellen Sie sicher, dass Sie immer oflag = direct und iflag = direct verwenden, wenn Sie einen Benchmark-Test zum Schreiben und Lesen durchführen. Andernfalls besteht das Risiko, dass Sie Ergebnisse erhalten, bei denen es sich tatsächlich um Schreib- und Lesezeiten für den Filecache handelt.

valentt
quelle
0

Auf meinem 2015 MBP unter OSX 10.11.5 habe ich bei Verwendung von dd die folgenden Schreibgeschwindigkeiten erhalten:

beim Schreiben auf / dev / disk: 1,80 MB / s beim Schreiben auf / dev / rdisk: 12,80 MB / s

Fr. Austin
quelle