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:
- Forstå dd-kommandoalternativer
- Finne server latens tid
- men Hvorfor er serverens gjennomstrømning og ventetid så lav?
- Bruk hdparm kommandoen for å se bufret og bufret disk lesehastighet
- Bruk dd-kommandoen På Linux for å teste lesehastighet
- Linux Laptop eksempel
- Apple OS X Unix (Macbook pro) eksempel
- Ikke en fan av kommandolinjeverktøyene…?
- Grafisk metode
- Kjører Disker verktøy Under Ubuntu 20.04 LTS:
- Hvilken metode og kommando anbefaler du å bruke til å teste disk I / O-ytelse?
- Konklusjon
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:
- først åpner Du Disker fra Aktivitetsoversikten.
- neste velg disken fra listen i venstre rute.
- Velg menyknappen og velg Benchmark disk … fra menyen.
- Klikk På Start Benchmark… og juster Overførings – og Tilgangstidsparametrene etter ønske.
- 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.
🐧 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 |