La velocità di scrittura della scheda SD sembra essere 14 volte più lenta della velocità di lettura


11

Stasera stavo scrivendo su una scheda SD da un lettore di schede interno di Mac Book Air e le prestazioni riportate erano 1,4 MB / sec. Successivamente ho letto il test su Raspberry Pi e ho ottenuto 20 MB / sec. È una carta di classe 6 e nessuna di queste figure sembra realistica!

Sto usando ddper i miei test. Risultati di test identici sia in lettura che in scrittura su entrambi i computer:

Raspberry Pi: leggi 20 MB / sec. Scrivi 11 MB / sec ...
Aria: leggi 3 MB / sec. Scrivi 1,4 MB / sec

Utilizzando questi comandi:

Scrivi test:

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

Leggi il test:

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

Ciò indica che l'anomalia percepita era in realtà prestazioni scadenti del lettore di schede SD Mac Book Air integrato! Rende la creazione di immagini molto lenta.


Sandisk afferma che le schede di classe 6 hanno una velocità di lettura di 20 Mbps, sebbene Kingston affermi che 15 Mbps sia la velocità di lettura delle schede di classe 6. Non so se il Mac Book abbia o meno un lettore di schede SD integrato. Ma per le versioni esterne (USB 2.0) la qualità del lettore di schede SD (quali chip utilizzati ecc.) È importante anche per le prestazioni complessive. Ma leggere è sempre più veloce con questi dispositivi, quindi scrivere.
ikku,

Grazie. È integrato. Prestazioni di lettura abbastanza buone. Prestazioni di scrittura davvero pessime.
ScrollerBlaster

Risposte:


6

La classificazione della classe di velocità della scheda SD specifica le prestazioni minime di lettura / scrittura che la scheda dovrebbe avere durante la registrazione di video. Il numero di classe è il limite di velocità inferiore in MB / s che dovresti ottenere quando usi la scheda.

Tieni presente, tuttavia, che leggere da una carta è in genere molto più semplice (e quindi più veloce) della scrittura. Questo è il motivo per cui la normale scheda di classe 6 avrà una velocità di scrittura di 6 MB / s di una velocità di lettura di 15-20 MB / s (ma sono garantiti solo 6 MB / s).

La velocità di lettura / scrittura può essere limitata non solo da una scheda, ma anche da molti fattori diversi, sia hardware che software. Soprattutto può essere limitato da alcuni problemi con il lettore / scrittore di carte.

Quindi, nella tua situazione, sembra che la tua scheda abbia prestazioni davvero pessime sul tuo Mac Book Air mentre ha prestazioni adeguate (e realistiche) su RaspberryPi. Non possiamo essere sicuri, tuttavia, poiché hai testato la velocità di scrittura su Mac Book e la velocità di lettura su RaspberryPi e, come ho già detto in precedenza, non sono comparabili. È anche difficile commentare perché stai ottenendo tali risultati poiché non hai specificato come stai testando queste velocità.


Ho bisogno di testare la lettura e la scrittura su entrambe le piattaforme. Sto usandodd
ScrollerBlaster il

@ScrollerBlaster: non puoi confrontare la lettura con la velocità di scrittura l'una con l'altra. Simile, quando si esegue il test di qualsiasi cosa, una buona regola empirica è quella di cambiare solo una cosa alla volta. Ma hai cambiato tutto (sistema operativo, computer host, lettore di schede) tranne una cosa (scheda SD) nella tua configurazione, in modo che non ti dia risultati significativi.
Krzysztof Adamski,

Ho detto che confronterò read vs write sullo stesso sistema operativo. Hai un problema con questo approccio?
ScrollerBlaster

@ScrollerBlaster: No, per niente. Volevo solo essere chiaro su cosa intendo dicendo che non sono comparabili nella mia risposta. Ricorda che questa risposta non è solo per te, ma per tutte le altre persone che potrebbero avere problemi simili in futuro, quindi provo a rendere il mio consiglio il più generico possibile.
Krzysztof Adamski,

Quando hai sottolineato nel tuo post che il mio test non stava confrontando mele e arance, questo era un punto molto valido. Nel mio primo commento ho affermato che avrei rifatto il test, il che significa che avrei rifatto la lettura e la scrittura su entrambe le piattaforme. Successivamente il tuo consiglio successivo per me non è stato necessario. Andando avanti, eventuali conclusioni su Air contro PI sono ancora premature. Il test più rilevante sarà un test di lettura / scrittura sul PI, dato che si tratta di un forum PI. Se hai dei ddcomandi per fare un test di scrittura sicuro, li userò!
ScrollerBlaster

10

Per ottenere la migliore velocità dallo slot SD del tuo MacBook, devi utilizzare un dispositivo 'disco grezzo'.

Questa è una scheda SanDisk Ultra Class 10:

~/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)

Confronta questo con l'utilizzo /dev/rdisk1anziché/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 rispetto a 14,9 MB / s - quasi 10 volte il miglioramento!


qual'è la differenza tra disk e rdisk?
valentt

"Sono più vicini al disco fisico rispetto alla cache buffer. I nodi / dev / disk, d'altra parte, sono dispositivi speciali a blocchi bufferizzati e sono usati principalmente dal codice del filesystem del kernel." - Controlla la hidutilpagina man per maggiori informazioni.
Bert,

1
Ciò è potenzialmente fuorviante poiché la dimensione del blocco è cambiata tra i due test.
Nick,

FWIW: ho cambiato la dimensione del blocco a 1m e il dispositivo / dev / rdisk1 e la mia velocità di scrittura è passata da ~ 1,75 MB / sec a ~ 11,4 MB / sec con una scheda di classe 10.
Gardner Bickford,

Posso confermarlo: scrivere un'immagine per la mia scheda SD RPi è 20 volte più veloce quando uso rdisk2. Ho mantenuto costante la dimensione del blocco per questo (4m). Usando / dev / disk2, gdd scrive a 197 kB / s. Usando / dev / rdisk2, scrive a 10.6 MB / s
judepereira,

1

È inoltre possibile utilizzare questi comandi per l'analisi comparativa senza influenza della cache che viene caricata nella RAM:

benchmark di velocità di lettura: $ sudo dd if = / dev / sdX1 di = / dev / zero bs = 1M count = 400 iflag = direct

benchmark velocità di scrittura: $ sudo dd if = / dev / zero of = / dev / sdX1 bs = 1M count = 400 skip = 1000 oflag = direct

Assicurati di usare sempre oflag = direct e iflag = direct quando fai rispettivamente test di scrittura e lettura benchmark, altrimenti rischi di ottenere risultati che sono effettivamente tempi di scrittura e lettura di filecache.


0

Sul mio MBP 2015 con OSX 10.11.5, ho ricevuto le seguenti velocità di scrittura durante l'utilizzo di dd:

quando si scrive su / dev / disk: 1.80 MB / s quando si scrive su / dev / rdisk: 12.80 MB / s

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.