Hvilke av harddiskene dine er raskest, og er den virkelig så rask som produsenten lovet? Enten du har en stasjonær PC eller en server, vil Microsofts gratis Diskspd-verktøy stresstest og måle harddiskene dine.
MERKNAD: En tidligere versjon av denne veiledningen forklart ved bruk av Microsofts gamle "SQLIO" -verktøy. Imidlertid tilbyr Microsoft nå bare "Diskspd" -verktøyet, som erstatter SQLIO, så vi har oppdatert denne guiden med helt nye instruksjoner.
Hvorfor bruke Diskspd?
Hvis du vil vite IO-evnen til stasjonene dine, er Diskspd et utmerket verktøy. Diskspd vil fortelle deg den maksimale kapasiteten en servers harddisker kan håndtere, eller peke på den raskeste harddisken du bør bruke for tunge arbeidsbelastninger (eller bare krevende PC-spill) på en stasjonær PC.
La oss anta at vi har tre stasjoner på en server: en F-stasjon, G-stasjon og C-stasjon. Hvis vi har vår MDF på F-stasjonen, LDF på G-stasjonen og OS på C-stasjonen vår, kan vi evaluere om oppsettet vårt er effektivt. For eksempel, hvis MDF-filen er den travleste filen med mest lesing og skriving, vil vi at den skal være på den raskeste stasjonen.
Ved å bruke eksemplet ovenfor med grafene (som representerer skriver og leser for OS, LDF og MDF), vil vi plassere MDF-filen vår på den raskeste stasjonen siden MDF er den travleste. Hvis vår Diskspd-analyse viste at F var vår raskeste stasjon, ville vi plassere MDF-filen vår på stasjon F.
Hvor laster du ned Diskspd
Microsoft tilbyr dette utmerkede verktøyet gratis, og du kan laste den ned fra Microsoft Technet . Det er til og med åpen kildekode, slik at du kan laste ned og inspisere eller endre kildekoden fra GitHub .
Diskspd er testet for å fungere på stasjonære versjoner av Windows 7, 8, 8.1, 10, samt Windows Server 2012, 2012 R2 og 2016 Technical Preview 5.
Når du har lastet den ned, må du trekke ut innholdet i .zip-filen til en mappe på datamaskinen din. Merk at arkivet inneholder tre forskjellige "diskspd.exe" filer. Den i “amd64fre” -mappen er for 64-biters Windows-PCer, mens den i “x86fre” -mappen er for 32-biters Windows-PCer. Hvis du bruker en 64-biters versjon av Windows, og du sannsynligvis er det, vil du sannsynligvis bruke 64-bitersversjonen.
Hvordan utfører jeg en stresstest?
For å utføre en enkelt test, kan du bare påkalle en Diskspd-kommando fra en administratoraktivert ledetekst. På Windows 10 eller 8.1 høyreklikker du på Start-knappen og velger "Kommandoprompt (administrator)". I Windows 7 finner du snarveien "Kommandoprompt" i Start-menyen, høyreklikker den og velger "Kjør som administrator.
Bruk først
cd
for å bytte til katalogen som inneholder Diskspd.exe du vil bruke:
cd c: \ sti \ til \ diskspd \ amd64fre
I vårt tilfelle så det ut som kommandoen nedenfor.
Kjør nå Diskspd-kommandoen med alternativene du vil bruke. Du finner en komplett liste over kommandolinjealternativer og bruksinformasjon i 30-siders DiskSpd_Documentation.pdf-filen som er inkludert i Diskspd-arkivet du lastet ned.
Men hvis du vil komme i gang raskt, er det et eksempel på en kommando. Følgende kommando setter blokkstørrelsen til 16K (-b16K), kjører en 30 sekunders test (-d30), deaktiverer innkjøp av maskinvare og programvare (-Sh), måler latensstatistikk (-L), bruker to IO-forespørsler per tråd (- o2) og fire tråder (-t4) per mål, bruker tilfeldig tilgang i stedet for sekvensiell skriving (-r), utfører 30% skriveoperasjoner og 70% leseoperasjoner (-w30).
Den oppretter en fil på c: \ testfile.dat på 50 MB i størrelse (-c50M). Hvis du for eksempel vil måle D: -stasjonen din, spesifiserer du d: \ testfile.dat
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c: \ testfile.dat
Etter hvor lang tid du har angitt - 30 sekunder i testen ovenfor - blir testresultatene skrevet ut til ledeteksten, og du kan se dem.
Hvis du ser på resultatene, ser du gjennomsnittlig MB / s som stasjonen nådde under testen - hvor mange skriveoperasjoner som ble utført i sekundet, hvor mange leseoperasjoner som ble utført i sekundet, og den totale mengden inngang / utgang (IO) per sekund. Denne statistikken er mest nyttig når du sammenligner flere stasjoner for å se hvilke som er raskere for visse operasjoner, men de vil også fortelle deg nøyaktig hvor mye IO en harddisk kan takle.
Du kan også dumpe resultatene til en tekstfil du kan se senere med operatøren>. For eksempel kjører kommandoen nedenfor den samme kommandoen som ovenfor, og plasserer resultatene i C: \ testresults.txt-filen.
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c: \ testfile.dat> c: \ testresults.txt
Gjenta denne prosessen for de andre stasjonene dine, og sammenlign.
Tilpasse stresstestkommandoen
Hvis du prøver å finne ut hvilken som er den raskeste harddisken for en viss arbeidsmengde, bør du opprette en kommando som best samsvarer med arbeidsmengden. Hvis det for eksempel er en server som bare leser data og ikke skriver, bør du utføre en test på 100% lese som ikke måler skriveytelse. Kjør stresstesten på flere stasjoner og sammenlign resultatene for å se hvilke som er raskere for den typen arbeid.
Merk at det er mange, mange andre kommandolinjealternativer du kan spesifisere for Diskspd.exe. Du finner den mest komplette, oppdaterte listen i dokumentasjonen som følger med den nedlastede Diskspd.exe-filen i seg selv, men her er noen viktige alternativer:
- -i angir prosentandel av skrive- og leseoperasjoner. For eksempel vil angi -w40 utføre 40% skriveoperasjoner og dermed 60% leseoperasjoner. Å angi -w100 vil utføre 100% skriveoperasjoner. Å utelate -w-bryteren eller gå inn i -w0 vil utføre 0% skriveoperasjoner og dermed 100% leseoperasjoner.
- -r eller -s bestemmer om testen bruker enten tilfeldig tilgang eller sekvensielle operasjoner. Spesifiser -r for tilfeldig tilgang eller -s for sekvensiell. Dette hjelper deg med å teste for tilfeldig filtilgang (ofte en haug med små filer) eller sekvensiell filtilgang (ofte en stor fil som er lest eller skrevet på en gang).
- -t angir antall tråder som vil kjøres samtidig, for eksempel -t2 for to tråder eller -t6 for seks tråder.
- -De angir antall utestående forespørsler per tråd, for eksempel -o4 for fire forespørsler eller -o2 for to resultater.
- -d er testens varighet i sekunder, for eksempel -d90 i 90 sekunder eller -d120 i 120 sekunder.
- -b er blokkstørrelsen på lesing eller skriving, for eksempel -b16K for en 16K blokkstørrelse eller -b64K for en 64K blokkstørrelse.
Ved å bruke disse alternativene kan du tilpasse referansekommandoen for å se hvordan disken din presterer under varierende belastning. Når du har skrevet en kommando som du føler er tilnærmet typen arbeidsmengde du utfører på PCen din, kan du stresstest flere stasjoner og se hvilke som gir best ytelse.