Di recente abbiamo visto come scoprire se il nostro PC supporta SATA 1, SATA 2 o SATA 3, oggi invece vogliamo vedere le performance in lettura e scrittura del nostro disco, così che eventualmente nel caso in cui state per cambiare il vostro hard disk con un nuovo SSD, con un SSHD (dischi ibridi) o semplicemente con un altro hard disk, potete verificare la differenza di performance tra i 2 dischi, oppure potrete fare questo benchmark anche per semplice curiosità, per sapere che velocità ha il vostro disco o anche le vostre penne USB. vediamo quindi come Misurare performance disco su linux su linux.

 

Misurare performance del disco su linux

 

 

Per fare questo ci basterà installare il tool “hdparm” che possiamo trovare nei repository ufficiali delle maggiori distribuzioni, per installarlo ci basta digitare il seguente comando:

PER ARCHLINUX O DERIVATE

sudo pacman -S hdparm

PER UBUNTU/DEBIAN O DERIVATE

sudo apt-get install hdparm

 

Al termine dell’installazione siamo pronti per iniziare a fare il test, come prima cosa verificate i dischi connessi con il seguente comando

fdisk -l

dovrete avere un output simile a questo

Disk /dev/sda: 465,8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000aa103

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048    206847    204800   100M  7 HPFS/NTFS/exFAT
/dev/sda2          206848 349868031 349661184 166,7G  7 HPFS/NTFS/exFAT
/dev/sda3       349868032 976773119 626905088   299G  5 Extended
/dev/sda5       349870080 401285119  51415040  24,5G 83 Linux
/dev/sda6       401287168 968581119 567293952 270,5G 83 Linux
/dev/sda7       968583168 976773119   8189952   3,9G 82 Linux swap / Solaris

Disk /dev/sdb: 960 MiB, 1006632960 bytes, 1966080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5673c0b6

Device     Boot Start     End Sectors  Size Id Type
/dev/sdb1        2048 1966079 1964032  959M  b W95 FAT32

Disk /dev/sdc: 3,8 GiB, 4008706048 bytes, 7829504 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5a0523e8

Device     Boot Start     End Sectors  Size Id Type
/dev/sdc1        2048 7829503 7827456  3,8G  b W95 FAT32

in questo caso io ho il mio hard disk (/dev/sda) e ho anche collegate 2 pennette USB (/dev/sdb e /dev/sdc), ora voglio vedere la velocità di lettura e scrittura di questi dispositivi usando hdparm, quindi visualizzo l’help del software per scoprire tutte le opzioni che posso utilizzare

hdparm –help

e mi accorgo che per misurare la velocità di lettura del disco devo usare le opzioni -T (per la cache) e -t (per il disco), quindi inizio il benchmark del mio harddisk, usando il seguente comando

sudo hdparm -Tt /dev/sda

dove al posto di /dev/sda, mettete il percorso del vostro disco

dopo alcuni secondi ricevo in output la velocità di lettura del disco testato

/dev/sda:
Timing cached reads:   5300 MB in  2.00 seconds = 2650.40 MB/sec
Timing buffered disk reads: 232 MB in  3.02 seconds =  76.76 MB/sec

 

Mentre invece se sostituisco /dev/sda con /dev/sdb, visualizzo la velocità di scrittura di una delle mie 2 penne USB  collegate

/dev/sdb:
Timing cached reads:   4970 MB in  2.00 seconds = 2485.46 MB/sec
Timing buffered disk reads:  40 MB in  3.00 seconds =  13.31 MB/sec

 

Ora invece testiamo la velocità di scrittura del disco, usando dd (tool che abbiamo gia usato in passato per masterizzare su di una chiavetta USB una ISO di una distribuzione linux), con il seguente comando

dd if=/dev/zero of=test conv=fdatasync bs=1M count=512

dopo alcuni secondi riceverete in output la velocità media di scrittura del vostro disco

512+0 record dentro
512+0 record fuori
536870912 byte (537 MB) copiati, 9,33257 s, 57,5 MB/s

Mentre se invece voglio testare la velocià di scrittura della mia penna USB devo sostituire test con il percorso del vostro dispositivo USB, da me la penna USB è stata montata in  /run/media/andrea/ e il nome della penna è sony quindi al posto di test devo mettere /run/media/andrea/sony/test,  e siccome la penna USB è generalmente molto più lenta di un HDD, mi conviene abbassare count da 512 a 128, così il test dura meno tempo

[[email protected] ~]$ dd if=/dev/zero of=/run/media/<vostro_utente>/<nome_dispositivo_usb>/test conv=fdatasync bs=1M count=128
128+0 record dentro
128+0 record fuori
134217728 byte (134 MB) copiati, 22,8896 s, 5,9 MB/s
[[email protected] ~]$

ovviamente dovete modificare <vostro_utente> con il nome del vostro utente e <nome_dispositivo_usb> con il nome del vostro dispositivo USB collegato

Ora sapete come testare la velocità di lettura e scrittura del vostro disco o delle vostre penne USB.

 

ricordate che con il test della velocità di scritttura è stato creato un file di nome “test” nella cartella in cui eravate posizionati con il terminale (probabilmente la vostra /home), quindi ora per evitare di tenere spazio occupato inutilmente, rimuovete quel file

rm -rf test

e rimuovete lo stesso file anche dall’interno della vostra penna USB