Linux e Unix Test delle prestazioni di I/O del disco con comando dd

Come posso usare il comando dd su Linux per testare le prestazioni di I/O del mio disco rigido? Come faccio a controllare le prestazioni di un disco rigido compresa la velocità di lettura e scrittura su un sistema operativo Linux? Come posso usare il comando dd sotto Linux I/O performance test?
È possibile utilizzare i seguenti comandi su sistemi Linux o Unix-like per un semplice test sequenziale delle prestazioni di I/O:

  • comando dd : Viene utilizzato per monitorare le prestazioni di scrittura di un dispositivo disco su un sistema Linux e Unix-like.
    Tutorial dettagli
    Difficoltà Intermedio (rss)
    i privilegi di Root
    Requisiti dd
    Tempo 15m
  • hdparm comando : utilizzato per ottenere/impostare il disco rigido parametri quali test di lettura e la memorizzazione nella cache le prestazioni di un dispositivo a disco su un sistema basato su Linux.

In questo tutorial imparerai come usare il comando dd per testare le prestazioni di I/O del disco .

Utilizzare il comando dd per monitorare le prestazioni di lettura e scrittura di un dispositivo disco:

Il comando dd è utile per scoprire semplici prestazioni di I/O sequenziali.

Comprensione delle opzioni di comando dd

In questo esempio, sto usando l’array RAID-10 (Adaptec 5405Z con SAS SSD) in esecuzione su un server Ubuntu Linux 14.04 LTS. La sintassi di base è la seguente per scoprire il throughput del server:

Output di esempio:

Fig.01: Ubuntu Linux Server con RAID10 e test del throughput del server con dd

Si prega di notare che un gigabyte è stato scritto per il test e 135 MB/s è stato il throughput del server per questo test. Dove,

  • se = / dev / zero (se = / dev / input.file): Il nome del file di input da cui si desidera leggere.
  • di = / tmp / test1.img (di = / percorso / a / uscita.file): Il nome del file di output che si desidera dd scrivere l’input.file a.
  • bs=1G (bs=block-size): Impostare la dimensione del blocco che si desidera utilizzare dd. 1 gigabyte è stato scritto per il test. Si prega di notare che Linux avrà bisogno di 1 GB di spazio libero nella RAM. Se il sistema di test non dispone di RAM sufficiente, utilizzare un parametro più piccolo per bs (ad esempio 128 MB o 64 MB e così via).
  • count = 1 (count=number-of-blocks): Il numero di blocchi che si desidera leggere dd.
  • oflag=dsync (oflag = dsync) : utilizzare I/O sincronizzati per i dati. Non saltare questa opzione. Questa opzione elimina il caching e ti dà risultati buoni e accurati
  • conv=fdatasyn: Di nuovo, questo dice a dd di richiedere una “sincronizzazione” completa una volta, subito prima che esca. Questa opzione è equivalente a oflag = dsync.

Ricerca server tempo di latenza

In questo esempio, 512 byte sono stati scritti mille volte per ottenere RAID10 server tempo di latenza:

dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync

Campione uscite:

1000+0 records in1000+0 records out512000 bytes (512 kB) copied, 0.60362 s, 848 kB/s

Si prega di notare che la velocità effettiva del server e il tempo di latenza dipende dal server/application carico. Quindi ti consiglio di eseguire questi test su un server appena riavviato e sull’ora di punta per avere un’idea migliore del tuo carico di lavoro. È ora possibile confrontare questi numeri con tutti i dispositivi.

Ma perché il throughput del server e il tempo di latenza sono così bassi?

Valori bassi non significa che si sta utilizzando hardware lento. Il valore può essere basso a causa della cache del controller HARDWARE RAID10.

Usa il comando hdparm per vedere la velocità di lettura del disco bufferizzato e memorizzato nella cache

Ti suggerisco di eseguire i seguenti comandi 2 o 3 volte Eseguire i tempi di lettura del dispositivo per scopi di benchmark e confronto:

### Buffered disk read test for /dev/sda ##hdparm -t /dev/sda1## OR ##hdparm -t /dev/sda

Per eseguire tempi di latenza della cache legge del benchmark e confronto, di nuovo, eseguire il seguente comando 2-3 volte (nota l’opzione-T):

## Cache read benchmark for /dev/sda ###hdparm -T /dev/sda1## OR ##hdparm -T /dev/sda

O combinare entrambe le prove:

hdparm -Tt /dev/sda

Campione uscite:

Fig.02: Comando Linux hdparm per testare la lettura e la memorizzazione nella cache delle prestazioni del disco

Ancora una volta si noti che a causa della memorizzazione nella cache dei filesystem sulle operazioni sui file, si vedranno sempre tassi di lettura elevati.

Usare il comando dd su Linux per testare la velocità di lettura

Per ottenere un accurato test di lettura dati, prima di eliminare la cache prima di eseguire il test eseguendo i seguenti comandi:

flushecho 3 | sudo tee /proc/sys/vm/drop_cachestime dd if=/path/to/bigfile of=/dev/null bs=8k

Linux Laptop esempio

Eseguire il comando riportato di seguito:

Apple OS X, Unix (Macbook pro) esempio

GNU dd ha molte più opzioni, ma OS X/BSD e Unix-like comando dd necessario eseguire quanto segue per testare reale I/O del disco e non della memoria aggiungere opzioni di sincronizzazione, come segue:

## Run command 2-3 times to get good results ###time sh -c "dd if=/dev/zero of=/tmp/testfile bs=100k count=1k && sync"

Campione uscite:

1024+0 records in1024+0 records out104857600 bytes transferred in 0.165040 secs (635346520 bytes/sec) real0m0.241suser0m0.004ssys0m0.113s

non vedo l’635346520 byte (635.347 MB/s) velocità di scrittura sul mio MBP.

Non sei un fan degli strumenti della riga di comando…?

È possibile utilizzare utility disco (gnome-disk-utility) su un sistema basato su Linux o Unix per ottenere le stesse informazioni. La seguente schermata è presa dalla mia VM Fedora Linux v22 e dal desktop Ubuntu 20.04:

Metodo grafico

Fare clic su “Attività” o premere il tasto “Super” per passare dalla panoramica delle attività al desktop. Digita “Dischi”

Fig.03: Avviare Gnome disk utility

Selezionare il disco rigido nel riquadro di sinistra e fare clic sul pulsante Configura e fare clic su “Partizione Benchmark”:

Fig.04: Benchmark disk / partition

Infine, fai clic sul pulsante “Start Benchmark…” (potresti essere promosso per il nome utente e la password dell’amministratore):

Fig.05: Risultato finale del benchmark

Strumento dischi in esecuzione sotto Ubuntu 20.04 LTS:

  1. Innanzitutto, apri i dischi dalla panoramica delle attività.
  2. Quindi scegliere il disco dall’elenco nel riquadro di sinistra.
  3. Selezionare il pulsante menu e selezionare Benchmark disk… dal menu.
  4. Fare clic su Start Benchmark… e regolare la velocità di trasferimento e i parametri del tempo di accesso come desiderato.
  5. Infine fare clic su Start Benchmarking per verificare quanto velocemente i dati possono essere letti dal disco. Potrebbero essere necessari privilegi amministrativi. Immettere la password o la password per l’account amministratore di sistema richiesto.

Testare le prestazioni del disco rigido utilizzando ‘Dischi’

Quale metodo e comando si consiglia di utilizzare per testare le prestazioni di I/O del disco?

  • Raccomando il comando dd su tutti i sistemi Unix-like (time sh-c “dd if=/dev/zero of=/tmp/testfile bs=100k count=1k&& sync”))
  • Se stai usando GNU/Linux usa il comando dd (dd if=/dev/zero of=/tmp/testALT.img bs = 1G count=1 conv = fdatasync)
  • Assicurati di regolare gli argomenti count e bs secondo la tua configurazione per ottenere un buon set di risultati.
  • Il metodo GUI è consigliato solo per gli utenti di laptop Linux/Unix che eseguono Gnome 2 o 3 desktop.
  • Per il benchmarking dettagliato delle prestazioni I/O utilizzare il comando fio
  • Usiamo IOzone. È uno strumento di benchmark del filesystem. Il benchmark genera e misura una varietà di operazioni sui file.

Conclusione

Hai imparato come usare il dd sotto Linux o Unix per testare la misurazione delle prestazioni di I/O semplice e sequenziale. Per il benchmarking dettagliato delle prestazioni di I/O provare il “The Flexible I/O Tester (FIO)” per Unix o Linux. Vedere Come Linux Controllare IDE / SATA Velocità di trasferimento del disco rigido e pagine man: hdparm (1) per ulteriori informazioni.

🐧 Si prega di sostenere il mio lavoro su Patreon o con una donazione.
– Ricevi le ultime esercitazioni su Linux, Open Source & DevOps tramite feed RSS o newsletter settimanale.
comments 14 commenti finora… aggiungere uno ↓
Categoria Elenco di Unix e Linux comandi
la Gestione dei File gatto
Firewall Alpino Mura • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04
Utilità di rete dig * host * ip * nmap
OpenVPN CentOS 7 * CentOS 8 * Debian 10 * Debian 8/9 * Ubuntu 18.04 * Ubuntu 20.04
Gestore di Pacchetti apk • apt
Processi di Gestione bg • chroot • cron • disconoscere • fg • lavori • killall • uccidere • pidof • pstree • pwdx • tempo
Ricerca grep • whereis • che
Informazioni Utente gruppi • id • lastcomm • ultima • coperchio/libuser-coperchio • logname • membri • utenti • whoami • chi • w
WireGuard VPN Alpino • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04

You might also like

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.