Les tests ont étés réalisés avec dd sur RaspberryPi.

Pour l'écriture, on "lit" depuis /dev/zero ce qui fait que la vitesse de lecture n'est pas un frein.

dd if=/dev/zero bs=xxxx count=yyyy of=file_1GB

Pour la lecture, on "écrit"vers /dev/null ce qui fait que la vitesse d'écriture n'est pas un frein.

dd if=file_1GB of=/dev/null bs=xxxx

Les tests ont été réalisés en jouant avec un fichier d'une taille de 1 Gio mais avec différentes valeurs de bs.

La taille à priori optimale de bs est déterminée en utilisant la commande:

stat -c "%o" file_1GB

D'autres commandes peuvent être utile pour déterminer bs

fdisk -l /dev/sda1 | grep "I/O size"
dumpe2fs /dev/sda1 | grep -i "Block size"

A titre d'information, il semblerait que la commande "cp" utiliserait un bs de 4096 octets.

Les tests ont étés réalisés sans une utilisation parallèle du bus USB (pas d'autre périphérique sur les ports USB, utilisation ethernet limitée aux commandes passées en SSH )


  • Clé USB Corsair EXT4

- bs=4096
Écriture: 29.2 MB/s
Lecture: 27.1 MB/s

Afin de démontrer l'importance de la valeur de bs pour les tests, test avec 1024:

- bs=1024
Écriture: 15.5 MB/s
Lecture: 21.7 MB/s

  • Clé USB Corsair FAT32

- bs=16384
Écriture: 20.7 MB/s
Lecture: 26.0 MB/s

- bs=4096
Écriture: 20.1 MB/s
Lecture: 26.9 MB/s

  • Disque Dur USB FAT32

- bs=4096
Écriture: 21.3 MB/s
Lecture: 25.1 MB/s

- bs=32768
Écriture: 21.6 MB/s
Lecture: 24.7 MB/s

  • Disque Dur USB EXT4

- bs=4096
Écriture: 31.1 MB/s
Lecture: 24.0 MB/s

Ne me demandez pas pourquoi la vitesse d'écriture est parfois supérieure à la vitesse de lecture.