Quan gestionem sistemes Linux, sovint necessitem comprovar el rendiment d’un dispositiu d’emmagatzematge o punt de muntatge. Saber quina velocitat d’escriptura i lectura ofereix ens ajuda a detectar colls d’ampolla, comprovar la salut del maquinari o simplement validar configuracions (RAID, LVM, discos NVMe, etc.).
En aquest article veurem com fer-ho amb dues eines populars:
dd
: eina simple inclosa en gairebé totes les distribucions.fio
: eina avançada per a proves de rendiment d’I/O.
Com mesurar la velocitat amb dd
El dd
és una eina senzilla que pot simular una escriptura seqüencial al disc.
Exemple: test d’escriptura
dd if=/dev/zero of=/mnt/test/dd_test bs=1G count=1 oflag=direct
if=/dev/zero
: genera dades buides (zeros)of=/mnt/test/dd_test
: fitxer de sortida al punt de muntatge a provarbs=1G
: mida del bloc (1 GB)count=1
: nombre de blocsoflag=direct
: evita la memòria cau del sistema per a un test més real
Atenció: això escriu dades reals al disc. Assegura’t de fer-ho en un lloc segur.
Exemple: test de lectura
Primer crea un fitxer gran:
dd if=/dev/zero of=/mnt/test/read_test bs=1G count=1 oflag=direct
Després llegeix-lo:
dd if=/mnt/test/read_test of=/dev/null bs=1G iflag=direct
Això descarta les dades llegides, però calcula la velocitat de lectura.
Com fer proves avançades amb fio
El fio
és molt més complet i configurable. Permet simular càrregues reals: aleatòries, seqüencials, amb diferents mides de bloc, múltiples fils, etc.
Instal·lació
sudo apt install fio # Debian/Ubuntu
sudo dnf install fio # RHEL/CentOS/Fedora
Exemple: test d’escriptura seqüencial
fio --name=seq_write --filename=/mnt/test/fio_test --size=1G --bs=1M --rw=write --ioengine=libaio --direct=1
Exemple: test de lectura aleatòria
fio --name=rand_read --filename=/mnt/test/fio_test --size=1G --bs=4k --rw=randread --ioengine=libaio --direct=1
Paràmetres comuns:
--rw
: tipus d’I/O (write
,read
,randwrite
,randread
, etc.)--bs
: mida del bloc (ex: 4k, 1M)--size
: mida total de la prova--direct=1
: evita la memòria cau--ioengine
: motor d’I/O (comlibaio
osync
)
Diferències entre dd
i fio
Característica | dd | fio |
---|---|---|
Complexitat | Molt simple | Avançada i molt configurable |
Tipus de proves | Seqüencials bàsiques | Seqüencials, aleatòries, combinades |
Multithreading | No | Sí |
Resultats detallats | Limitats (només temps i MB/s) | Complets (IOPS, latència, etc.) |
Ús en benchmarking | Acceptable per a casos simples | Ideal per a proves reals i complexes |
✅ Conclusió
Si només vols fer una prova ràpida, dd
pot ser suficient. Però si necessites entendre realment com respon el sistema d’emmagatzematge sota càrrega, fio
és la millor eina. T’ofereix flexibilitat, detall i realisme.