Linux Og Unix Test Disk I / O Ytelse Med Dd Kommando

Hvordan kan jeg bruke dd-kommandoen på En Linux for å teste i / O-ytelsen til harddisken min? Hvordan sjekker jeg ytelsen til en harddisk, inkludert lese-og skrivehastigheten på Et Linux-operativsystem? Hvordan kan jeg bruke dd-kommandoen under Linux i / O-ytelsestest?
Du kan bruke følgende kommandoer på En Linux eller Unix-lignende systemer for enkel sekvensiell i / O ytelsestest:

  • dd command : Den brukes til å overvåke skriveytelsen til en diskenhet på Et Linux-og Unix-lignende system.
    Tutorial detaljer
    Vanskelighetsgrad Mellomliggende (rss)
    Root privilegier Ja
    Krav dd
    Tid 15m
  • hdparm command: den brukes til å få / sette harddiskparametere, inkludert test lesing og caching ytelse av en disk enhet på Et Linux – basert system.

i denne opplæringen lærer du hvordan du bruker dd-kommandoen til å teste disk I/O-ytelse .

Bruk dd-kommandoen til å overvåke lese-og skriveytelsen til en diskenhet:

dd-kommandoen er nyttig for å finne ut enkel sekvensiell i/O-ytelse.

Forstå dd-kommandoalternativer

i dette eksemplet bruker JEG RAID-10 (Adaptec 5405Z MED SAS SSD) array som kjører På En Ubuntu Linux 14.04 lts-server. Den grunnleggende syntaksen er som følger for å finne ut servergjennomstrømning:

Eksempelutganger:

Fig.01: Ubuntu Linux Server MED RAID10 og testing server gjennomstrømning med dd

Vær oppmerksom på at en gigabyte ble skrevet for testen og 135 MB / s var server gjennomstrømning for denne testen. Hvor,

  • hvis = / dev / null (hvis=/dev/inngang.fil): navnet på inndatafilen du vil lese dd fra.
  • av = / tmp / test1.img (av= / bane / til / utgang.fil): navnet på utdatafilen du vil ha dd skrive inngangen.fil til.
  • bs=1G ( bs=blokkstørrelse): Angi størrelsen på blokken du vil at dd skal bruke. 1 gigabyte ble skrevet for testen. Vær oppmerksom På At Linux trenger 1 GB ledig PLASS I RAM. Hvis testsystemet ikke har TILSTREKKELIG RAM tilgjengelig, bruk en mindre parameter for bs(FOR EKSEMPEL 128MB eller 64MB og så videre).
  • count=1( count=number-of-blocks): antall blokker du vil at dd skal lese.
  • oflag=dsync (oflag=dsync) : bruk synkronisert I / U for data. Ikke hopp over dette alternativet. Dette alternativet blir kvitt caching og gir deg gode og nøyaktige resultater
  • conv=fdatasyn: igjen, dette forteller dd å kreve en fullstendig «synkronisering» en gang, rett før den går ut. Dette alternativet tilsvarer oflag=dsync.

Finne server latens tid

i dette eksemplet ble 512 byte skrevet tusen ganger for Å få RAID10 server latens tid:

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

Eksempel på utganger:

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

Vær oppmerksom på at server gjennomstrømning og ventetid avhenger av server / program belastning også. Så jeg anbefaler at du kjører disse testene på en nylig startet server samt topptid for å få bedre ide om arbeidsbelastningen din. Du kan nå sammenligne disse tallene med alle enhetene dine.

men Hvorfor er serverens gjennomstrømning og ventetid så lav?

Lave verdier betyr ikke at du bruker treg maskinvare. Verdien kan være lav på grunn AV MASKINVARE RAID10 controller cache.

Bruk hdparm kommandoen for å se bufret og bufret disk lesehastighet

jeg foreslår at du kjører følgende kommandoer 2 eller 3 Ganger Utføre timings av enheten leser for benchmark og sammenligning formål:

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

for å utføre timings av cache leser for benchmark og sammenligning formål igjen kjøre følgende kommando 2-3 ganger (merk alternativet – t):

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

eller kombinere begge testene:

hdparm -Tt /dev/sda

Eksempel på utganger:

Fig.02: Linux hdparm kommando for å teste lesing og caching disk ytelse

Igjen merk at på grunn av filsystemer caching på filoperasjoner, vil du alltid se høye lesehastigheter.

Bruk dd-kommandoen På Linux for å teste lesehastighet

for å få nøyaktige lesetestdata, må du først kaste bort cacher før du tester ved å kjøre følgende kommandoer:

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

Linux Laptop eksempel

Kjør følgende kommando:

Apple OS X Unix (Macbook pro) eksempel

GNU dd har mange flere alternativer, MEN OS X / BSD og Unix-lignende dd-kommandoen må kjøre som følger for å teste ekte disk I / O og ikke minne legg til synkroniseringsalternativ som følger:

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

Eksempel på utganger:

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

Så jeg får 635346520 bytes (635.347 MB/s) skrivehastighet på MIN MBP.

Ikke en fan av kommandolinjeverktøyene…?

du kan bruke diskverktøy (gnome-disk-utility) på Et Linux-eller Unix-basert system for å få samme informasjon. Følgende skjermbilde er hentet fra Min Fedora Linux V22 VM og Ubuntu 20.04 desktop:

Grafisk metode

Klikk på » Aktiviteter «eller trykk På» Super » – tasten for å bytte Mellom Aktivitetsoversikten og skrivebordet. Type «Disker»

Fig.03: Start Gnome disk utility

Velg harddisken på venstre rute og klikk på konfigurer knappen og klikk på «Benchmark partisjon»:

Fig.04: Benchmark disk / partisjon

Til Slutt klikker du På» Start Benchmark… » – knappen (du kan bli markedsført for admin brukernavn og passord):

Fig.05: Endelig benchmark resultat

Kjører Disker verktøy Under Ubuntu 20.04 LTS:

  1. først åpner Du Disker fra Aktivitetsoversikten.
  2. neste velg disken fra listen i venstre rute.
  3. Velg menyknappen og velg Benchmark disk … fra menyen.
  4. Klikk På Start Benchmark… og juster Overførings – og Tilgangstidsparametrene etter ønske.
  5. Klikk Endelig På Start Benchmarking for å teste hvor raskt data kan leses fra disken. Administrative rettigheter kan være nødvendig. Skriv inn passordet ditt, eller passordet for den forespurte systemadministratorkontoen.

Test ytelsen til harddisken ved Hjelp Av ‘Disker’

Hvilken metode og kommando anbefaler du å bruke til å teste disk I / O-ytelse?

  • jeg anbefaler dd-kommandoen på Alle Unix – lignende systemer (tid sh-c «dd if=/dev/zero of=/tmp/testfile bs=100k count=1k && sync»))
  • hvis DU bruker GNU/Linux, bruk dd-kommandoen (dd if=/dev/zero of=/tmp/testALT.img bs=1g count=1 conv=fdatasync)
  • Pass på at du justerer telle-og bs-argumenter i henhold til oppsettet ditt for å få et godt sett med resultat.
  • GUI-metoden anbefales kun For Linux / Unix bærbare brukere som kjører Gnome 2 eller 3 desktop.
  • for detaljert i / O ytelse benchmarking bruk fio kommandoen
  • Vi bruker iozone. Det er et filsystem benchmark verktøy. Referansen genererer og måler en rekke filoperasjoner.

Konklusjon

du lærte å bruke dd Under Linux eller Unix for å teste enkel og sekvensiell i / O-ytelsesmåling. For detaljert i / O ytelse benchmarking prøve «Fleksibel I / O Tester (FIO)» For Unix eller Linux. Se Hvordan Linux Sjekk IDE / SATA Harddisk Overføringshastighet og man sider: hdparm (1) for mer informasjon.

🐧 Vennligst støtte mitt arbeid På Patreon eller med en donasjon.
🐧 Få de siste veiledningene På Linux, Åpen Kildekode & DevOps via RSS-feed eller Ukentlig nyhetsbrev på e-post.
🐧 14 kommentarer så langt… legg til en ↓
Kategori Liste Over Unix-og Linux-kommandoer
Filbehandling cat
Brannmur Alpine Awall • CentOS 8 • OPENSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04
Nettverksverktøy dig * host * ip * nmap
OpenVPN CentOS 7 * CentOS 8 * Debian 10 * Debian 8/9 * Ubuntu 18.04 * Ubuntu 20.04
Pakkebehandling apk * apt
Prosesser Ledelse bg • chroot • cron • disown • fg • jobber • killall • drepe • pidof • pstree • pwdx • tid
Søker grep • whereis • which
Brukerinformasjon grupper * id * lastcomm * siste * lokk / libuser-lokk • logname * medlemmer * brukere * whoami * hvem * w
WireGuard VPN Alpint * CentOS 8 * Debian 10 * Brannmur • Ubuntu 20.04

You might also like

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.