Linux-ja Unix-Testilevyjen I / O-suorituskyky DD-komennolla

Miten voin käyttää DD-komentoa Linuxissa kiintolevyni I / O-suorituskyvyn testaamiseen? Miten tarkistan kiintolevyn suorituskyvyn, mukaan lukien luku-ja kirjoitusnopeus Linux-käyttöjärjestelmissä? Miten voin käyttää DD-komentoa Linux I / O-suorituskykytestissä?
Linuxin tai Unixin kaltaisissa järjestelmissä voi käyttää seuraavia komentoja yksinkertaiseen peräkkäiseen I / O-suorituskykytestiin:

  • DD-komento : Sitä käytetään levylaitteen kirjoitustehon seuraamiseen Linux-ja Unix-tyyppisessä järjestelmässä.
    opetusohjelman tiedot
    vaikeusaste keskitaso (rss)
    pääkäyttäjän oikeudet Kyllä
    vaatimukset PP
    aika 15m
  • hdparm komento: sitä käytetään saada/asettaa kiintolevyn parametrit, mukaan lukien testata lukeminen ja välimuistin suorituskykyä levyn laitteen Linux-pohjainen järjestelmä.

tässä opetusohjelmassa opit käyttämään DD-komentoa levyn I/O suorituskyvyn testaamiseen .

käytä DD-komentoa levylaitteen luku-ja kirjoitustehon seuraamiseen:

DD-komennosta on hyötyä yksinkertaisen peräkkäisen I/O-suorituskyvyn selvittämisessä.

ymmärtäminen dd komentoasetukset

tässä esimerkissä käytän RAID-10 (Adaptec 5405Z kanssa SAS SSD) array käynnissä Ubuntu Linux 14.04 LTS palvelimella. Perussyntaksi on seuraava palvelimen läpimenon selvittämiseksi:

Näytelähdöt:

Kuva.01: Ubuntu Linux-palvelin RAID10: llä ja testauspalvelimen läpimeno DD: llä

huomaa, että testiä varten kirjoitettiin yksi gigatavu ja 135 MB/s oli palvelimen läpimeno tätä testiä varten. Missä

  • if= / dev / nolla (if=/dev/input.tiedosto): sen syötetiedoston nimi, josta haluat lukea (DD).
  • of= / tmp / test1.img (of= / path/to / output.tiedosto): haluamasi tulostiedoston nimi DD Kirjoita tulo.tiedosto.
  • bs=1g (bs=block-size) : aseta sen lohkon koko, jota haluat dd: n käyttävän. Testiä varten kirjoitettiin 1 gigatavu. Huomaa, että Linux tarvitsee 1 Gt vapaata tilaa RAM. Jos testijärjestelmässäsi ei ole riittävästi RAM-muistia, käytä pienempää parametria bs: lle (kuten 128MB tai 64MB ja niin edelleen).
  • count=1 (count=number-of-blocks): niiden lohkojen määrä, jotka haluat DD: n luettavan.
  • Oflag=dsync (oflag=dsync) : käytä tietojen synkronoitua I/O: ta. Älä ohita tätä vaihtoehtoa. Tällä valinnalla pääset eroon välimuistista ja saat hyviä ja tarkkoja tuloksia
  • conv=fdatasyn: jälleen tämä kertoo dd: n vaativan täydellistä ”synkronointia” kerran, juuri ennen kuin se poistuu. Tämä vaihtoehto vastaa Oflag=dsync.

palvelimen latenssiajan löytäminen

tässä esimerkissä 512 tavua kirjoitettiin tuhat kertaa RAID10-palvelimen latenssiajan saamiseksi:

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

Näytetulokset:

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

huomaa, että palvelimen läpimeno ja latenssi aika riippuu palvelimen / sovelluksen kuormitus liian. Joten suosittelen, että suoritat nämä testit äskettäin käynnistetty palvelin sekä ruuhka-aika saada parempi käsitys työmäärästä. Voit nyt verrata näitä numeroita kaikkiin laitteisiisi.

mutta miksi palvelimen läpimeno-ja latenssiaika on niin alhainen?

alhaiset arvot eivät tarkoita, että käyttäisit hidasta laitteistoa. Arvo voi olla alhainen, koska laitteisto RAID10 ohjaimen välimuisti.

käytä hdparm-komentoa nähdäksesi puskuroidun ja välimuistissa olevan levyn lukunopeuden

ehdotan, että suoritat seuraavat komennot 2 tai 3 kertaa suorita laitteen lukuajat vertailu-ja vertailutarkoituksiin:

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

suorittaa ajoitukset välimuistin lukee vertailu-ja vertailutarkoituksiin uudelleen ajaa seuraava komento 2-3 kertaa (huomaa-T vaihtoehto):

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

tai yhdistää molemmat testit:

hdparm -Tt /dev/sda

Näytetulokset:

Kuva.02: Linux hdparm-komento levyn lukemisen ja välimuistin tallentamisen testaamiseksi

huomaa jälleen, että tiedostojärjestelmien välimuistin tallentamisen vuoksi tiedostojen operaatioissa näet aina korkeat lukunopeudet.

käytä DD-komentoa Linuxissa lukunopeuden testaamiseen

saadaksesi tarkat lukutestitiedot, hävitä ensin välimuistit ennen testausta suorittamalla seuraavat komennot:

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

Linux Laptop example

suorita seuraava komento:

Apple OS X Unix (Macbook pro) esimerkki

GNU dd: ssä on paljon enemmän vaihtoehtoja, mutta OS X / BSD ja Unixin kaltainen dd-komento täytyy suorittaa seuraavasti testatakseen oikean levyn I / O eikä muistin lisää synkronointivaihtoehtoa seuraavasti:

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

Näytetulokset:

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

joten saan 635346520 tavua (635.347 MB/s) kirjoittaa nopeus minun MBP.

ei ole komentorivityökalujen fani…?

voit käyttää levyapuohjelmaa (gnome-disk-utility) Linux-tai Unix-pohjaisessa järjestelmässä saadaksesi samat tiedot. Seuraava kuvakaappaus on otettu Fedora Linux V22 VM: stä ja Ubuntu 20.04 Desktopista:

graafinen menetelmä

klikkaa ”toiminnot” tai paina ”Super” – näppäintä vaihtaaksesi toimintojen yleiskuvan ja työpöydän välillä. Kirjoita ”Levyt”

Kuva.03: Käynnistä Gnomen Levytyökalu

valitse kiintolevysi vasemmasta ruudusta ja napsauta Määritä-painiketta ja napsauta ”Benchmark-osiota”:

Kuva.04: Benchmark disk / partition

lopuksi, klikkaa ”Start Benchmark…” – painiketta (voit olla edistettävä admin käyttäjätunnus ja salasana):

Kuva.05: lopullinen vertailutulos

Running Disks tool under Ubuntu 20.04 LTS:

  1. ensimmäinen, avaa levyt toiminnan yleiskatsaus.
  2. valitse seuraavaksi levy vasemman ruudun listasta.
  3. valitse Valikkopainike ja valitse valikosta Benchmark disk….
  4. Napsauta Käynnistä Benchmark… ja säädä siirtonopeuden ja käyttöajan parametrit halutulla tavalla.
  5. napsauta lopuksi Start Benchmarking testataksesi, kuinka nopeasti tietoja voidaan lukea levyltä. Hallinnollisia oikeuksia voidaan vaatia. Syötä salasana tai pyydetyn järjestelmänvalvojan tilin salasana.

testaa kiintolevyn suorituskyky käyttämällä ”levyt’

mitä menetelmää ja komentoa suosittelet käyttämään levyn I / O suorituskyvyn testaamiseen?

  • suosittelen dd-komentoa kaikille Unixin kaltaisille järjestelmille (time sh-c ”dd if=/dev/zero of=/tmp/testfile bs=100k count=1k && sync”))
  • jos käytät GNU/Linuxia käytä DD-komentoa (dd if=/dev/zero of=/tmp/testALT.img bs=1g count=1 conv=fdatasync)
  • varmista, että säädät laskenta-ja bs-argumentteja asetuksesi mukaan, jotta saat hyvän tuloksen.
  • GUI-menetelmää suositellaan vain Linux/Unix-kannettavan tietokoneen käyttäjille, jotka käyttävät Gnome 2-tai 3-työpöytää.
  • yksityiskohtaisessa I / O-suorituskykyvertailussa käytetään Fio-komentoa
  • käytämme Iozonea. Se on tiedostojärjestelmän vertailuarvo työkalu. Vertailuarvo luo ja mittaa erilaisia tiedostotoimintoja.

johtopäätös

opit käyttämään dd: tä Linuxissa tai Unixissa yksinkertaisen ja peräkkäisen I/O-suorituskyvyn mittauksen testaamiseen. Yksityiskohtaista I/O-suorituskykyvertailua varten kokeile ”the Flexible I / O Tester (FIO)” Unixille tai Linuxille. Katso, miten Linux tarkistaa IDE / SATA kiintolevyn siirtonopeus ja man sivut: hdparm(1) lisätietoja.

🐧 tukekaa työtäni Patreonin parissa tai lahjoituksella.
🐧 Hanki uusimmat tutoriaalit Linuxissa, avoimen lähdekoodin & DevOps RSS-syötteen tai viikoittaisen sähköpostiuutisen kautta.
🐧 14 kommenttia tähän mennessä… lisää yksi ↓
Luokka luettelo Unix – ja Linux-komennoista
Tiedostonhallinta cat
palomuuri Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 * Ubuntu 20.04
verkon apuohjelmat dig * host * ip • nmap
OpenVPN CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 * Ubuntu 20.04
paketinhallinta apk * apt
Processes Management bg * chroot * cron * disown * fg * jobs * killall * kill * pidof * pstree * pwdx * time
Searching grep * whereis * which
käyttäjätiedot groups * id • lastcomm * last * lid/libuser-lid * logname * members * users * whoami * who * w
WireGuard VPN Alpine * CentOS 8 • Debian 10 * Firewall • Ubuntu 20.04

You might also like

Vastaa

Sähköpostiosoitettasi ei julkaista.