Performanța I/O a discului de testare Linux și Unix cu comanda dd

Cum pot folosi comanda dd pe un Linux pentru a testa performanța I / O a unității mele de hard disk? Cum verific performanța unui hard disk, inclusiv viteza de citire și scriere pe un sistem de operare Linux? Cum pot folosi comanda dd sub testul de performanță I/O Linux?
puteți utiliza următoarele comenzi pe un sistem Linux sau Unix pentru un test de performanță i/O secvențial simplu:

  • comanda dd : Este utilizat pentru a monitoriza performanța de scriere a unui dispozitiv de disc pe un sistem Linux și Unix.
    detalii Tutorial
    dificultate intermediar (rss)
    privilegii Root Da
    cerințe ZD
    timp 15m
  • comanda hdparm: este utilizat pentru a obține / seta parametrii hard disk-ului, inclusiv pentru a testa performanța de citire și cache a unui dispozitiv de disc pe un sistem bazat pe Linux.

în acest tutorial veți învăța cum să utilizați comanda dd pentru a testa performanța i/o a discului .

utilizați comanda dd pentru a monitoriza performanța de citire și scriere a unui dispozitiv de disc:

comanda dd este utilă pentru a afla performanța i/o secvențială simplă.

înțelegerea opțiunilor de comandă dd

în acest exemplu, folosesc matrice RAID-10 (Adaptec 5405Z cu SAS SSD) care rulează pe un server Ubuntu Linux 14.04 LTS. Sintaxa de bază este următoarea pentru a afla transferul serverului:

ieșiri de probă:

Fig.01: Ubuntu Linux Server cu RAID10 și Testing Server throughput cu dd

vă rugăm să rețineți că un gigabyte a fost scris pentru test și 135 MB/s a fost Server throughput pentru acest test. Unde,

  • if=/dev/zero (if=/dev/input.fișier): numele fișierului de intrare pe care doriți să îl citiți.
  • of=/tmp/test1.img (de=/cale/la/ieșire.fișier): numele fișierului de ieșire dorit DD scrieți intrarea.fișier la.
  • bs=1g (BS=dimensiune bloc) : Setați dimensiunea blocului pe care doriți să îl utilizați dd. 1 gigabyte a fost scris pentru test. Rețineți că Linux va avea nevoie de 1 GB de spațiu liber în memoria RAM. Dacă sistemul dvs. de testare nu are suficientă memorie RAM disponibilă, utilizați un parametru mai mic pentru bs (cum ar fi 128MB sau 64MB și așa mai departe).
  • count=1 (count=number-of-blocks): numărul de blocuri pe care doriți dd pentru a citi.
  • oflag=dsync (oflag=dsync) : Utilizați i/o sincronizate pentru date. Nu omiteți această opțiune. Această opțiune scapă de cache și vă oferă rezultate bune și precise
  • conv=fdatasyn: din nou, acest lucru îi spune lui dd să solicite o „sincronizare” completă o dată, chiar înainte de a ieși. Această opțiune este echivalentă cu oflag = dsync.

găsirea timpului de latență a serverului

în acest exemplu, 512 octeți au fost scrise de o mie de ori pentru a obține timpul de latență a serverului RAID10:

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

ieșiri de probă:

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

vă rugăm să rețineți că debitul serverului și timpul de latență depind și de încărcarea serverului/aplicației. Așadar, vă recomand să rulați aceste teste pe un server nou repornit, precum și timpul de vârf pentru a vă face o idee mai bună despre volumul de muncă. Acum Puteți compara aceste numere cu toate dispozitivele dvs.

dar de ce debitul serverului și timpul de latență sunt atât de scăzute?

valorile scăzute nu înseamnă că utilizați hardware lent. Valoarea poate fi scăzută din cauza cache-ului controlerului RAID10 HARDWARE.

utilizați comanda hdparm pentru a vedea viteza de citire a discului tamponat și cache

vă sugerez să rulați următoarele comenzi de 2 sau 3 ori efectuați temporizări ale citirilor dispozitivului în scopuri de referință și comparație:

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

pentru a efectua timpii de cache citește în scopuri de referință și comparație din nou rula următoarea comandă de 2-3 ori (notă opțiunea-T):

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

sau combinați ambele teste:

hdparm -Tt /dev/sda

ieșiri de probă:

Fig.02: Comanda Linux hdparm pentru a testa performanța discului de citire și memorare în cache

rețineți din nou că, datorită memorării în cache a sistemelor de fișiere în operațiunile de fișiere, veți vedea întotdeauna rate mari de citire.

utilizați comanda dd pe Linux pentru a testa viteza de citire

pentru a obține date exacte de testare citite, mai întâi aruncați cache-urile înainte de testare executând următoarele comenzi:

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

exemplu de laptop Linux

rulați următoarea comandă:

Apple OS X Unix (Macbook pro) exemplu

GNU dd are mai multe opțiuni, dar OS X / BSD și Unix-like DD comandă trebuie să ruleze după cum urmează pentru a testa disc real I / O și nu Memorie adăugați opțiunea de sincronizare, după cum urmează:

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

ieșiri de probă:

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

deci, primesc 635346520 bytes (635.347 MB/s) viteza de scriere pe MBP-ul meu.

nu este un fan al instrumentelor din linia de comandă…?

puteți utiliza utilitarul de disc (gnome-Disk-utility) pe un sistem bazat pe Linux sau Unix pentru a obține aceleași informații. Următoarea captură de ecran este preluată de pe desktopul meu Fedora Linux V22 VM și Ubuntu 20.04:

metoda grafică

Faceți clic pe „activități” sau apăsați tasta „Super” pentru a comuta între prezentarea activităților și desktop. Tip „Discuri”

Fig.03: porniți Gnome Disk utility

selectați hard disk-ul la panoul din stânga și faceți clic pe butonul Configurare și faceți clic pe „Benchmark partition”:

Fig.04: Benchmark disk / partition

în cele din urmă, faceți clic pe butonul” Start Benchmark… ” (puteți fi promovat pentru numele de utilizator și parola de administrator):

Fig.05: rezultatul final de referință

rulează discuri instrument sub Ubuntu 20.04 LTS:

  1. mai întâi, deschideți discuri din prezentarea generală a activităților.
  2. apoi alegeți discul din lista din panoul din stânga.
  3. selectați butonul Meniu și selectați Benchmark disk… din meniu.
  4. Faceți clic pe Start Benchmark… și ajustați parametrii ratei de Transfer și timpului de acces după cum doriți.
  5. în cele din urmă faceți clic pe Start Benchmarking pentru a testa cât de repede pot fi citite datele de pe disc. Pot fi necesare privilegii Administrative. Introduceți parola sau parola pentru contul de administrator de sistem solicitat.

testați performanța hard diskului utilizând ‘discuri’

ce metodă și comandă recomandați să utilizați pentru a testa performanța i/O a discului?

  • recomand comanda dd pe toate sistemele asemănătoare Unix (timpul sh-c „dd if=/dev/zero of=/tmp/testfile bs=100K count=1K&& sync”))
  • dacă utilizați GNU/Linux utilizați comanda dd (dd if=/dev/zero of=/tmp/testALT.img BS = 1g count = 1 conv = fdatasync)
  • asigurați-vă că ajustați numărul și argumentele bs conform configurației dvs. pentru a obține un set bun de rezultate.
  • metoda GUI este recomandată numai pentru utilizatorii de laptop Linux/Unix care rulează Gnome 2 sau 3 desktop.
  • pentru analiza comparativă detaliată a performanței i/O utilizați comanda fio
  • folosim IOzone. Este un instrument de referință al sistemului de fișiere. Benchmark-ul generează și măsoară o varietate de operațiuni de fișiere.

concluzie

ați învățat cum să utilizați dd sub Linux sau Unix pentru testarea măsurării performanței I/O simple și secvențiale. Pentru detaliate i / o performanță benchmarking încercați ” flexibil I / O Tester (FIO)” Pentru Unix sau Linux. Consultați Cum se verifică Linux IDE / SATA viteza de Transfer pe hard Disk și paginile de manual: hdparm (1) Pentru mai multe informații.

🐧 vă rugăm să sprijine munca mea pe Patreon sau cu o donație.
XV Obțineți cele mai recente tutoriale despre Linux, Open Source & DevOps prin feed RSS sau buletin informativ săptămânal prin e-mail.
14 comentarii de până acum… adaugă unul ↓
Categorie lista comenzilor Unix și Linux
gestionarea fișierelor cat
Firewall
utilitati de retea dig * host * ip * nmap
OpenVPN CentOS 7 * CentOS 8 * Debian 10 * Debian 8/9 * Ubuntu 18.04 * Ubuntu 20.04
Manager de pachete apk * apt
managementul proceselor bg * chroot • cron * renova • fg * locuri de muncă * killall * ucide • pidof • pstree * pwdx * timp
Se caută grep * unde este * care
Informații utilizator grupuri * id • lastcomm * ultimul * capac / libuser-capac • logname * membri * utilizatori * whoami * cine * w
WireGuard VPN Alpine * CentOS 8 * Debian 10 * Firewall • Ubuntu 20.04

You might also like

Lasă un răspuns

Adresa ta de email nu va fi publicată.