Slik stresser du harddiskene i din PC eller server
Hvilke av harddiskene dine er den raskeste, og er det virkelig så fort som produsenten lovet? Enten du har en stasjonær PC eller en server, vil Microsofts gratis Diskspd-verktøy stresstest og benchmark harddiskene dine.
MERK: En tidligere versjon av denne håndboken ble forklart ved hjelp av Microsofts gamle "SQLIO" -verktøy. Imidlertid tilbyr Microsoft nå bare "Diskspd" -verktøyet, som erstatter SQLIO, så vi har oppdatert denne håndboken med helt nye instruksjoner..
Hvorfor bruke Diskspd?
Hvis du vil vite IO-evnen til stasjonene dine, gjør Diskspd et utmerket verktøy. Diskspd vil fortelle deg maksimal kapasitet som en servers harddisker kan håndtere, eller peke på den raskeste harddisken du burde bruke for store arbeidsbelastninger (eller bare krevende PC-spill) på en stasjonær PC.
Som et eksempel, 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, kan LDF på G-stasjonen og OS på vår C-stasjon vurdere om oppsettet vårt er effektivt. For eksempel, hvis MDF-filen er den travleste filen med de fleste leser og skriver, vil vi at den skal være på den raskeste stasjonen.
Ved hjelp av eksemplet ovenfor med grafene (som representerer skriver og leser for OS, LDF og MDF), plasserer vi vår MDF-fil på den raskeste stasjonen, siden vår MDF er den travleste. Hvis vår Diskspd-analyse viste at F var vår raskeste stasjon, ville vi plassere vår MDF-fil på stasjon F.
Hvor å laste 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å desktopversjoner av Windows 7, 8, 8.1, 10, samt Windows Server 2012, 2012 R2 og 2016 Technical Preview 5.
Når du har lastet ned den, må du pakke ut innholdet i .zip-filen til en mappe på datamaskinen. Merk at arkivet inneholder tre forskjellige "diskspd.exe" -filer. Den i mappen "amd64fre" er for 64-biters Windows-PCer, mens den i mappen "x86fre" er for 32-biters Windows-PCer. Hvis du bruker en 64-biters versjon av Windows, og du sannsynligvis er, vil du sannsynligvis ønske å bruke 64-bitersversjonen.
Hvordan utfører jeg en stress test?
For å utføre en enkelt test, kan du ganske enkelt påkalle en Diskspd-kommando fra en Administrator-aktivert kommandoprompt. I Windows 10 eller 8.1 høyreklikker du Start-knappen og velger "Kommandoprompt (Admin)". I Windows 7, finn snarveien "Kommandoprompt" i Start-menyen, høyreklikk den og velg "Kjør som administrator.
Bruk først cd
å bytte til katalogen som inneholder Diskspd.exe du vil bruke:
cd c: \ path \ to \ 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-fil som er inkludert i Diskspd-arkivet du lastet ned.
Men hvis du ønsker å komme raskt opp, er det et eksempel på en kommando. Følgende kommando angir blokkstørrelsen til 16K (-b16K), kjører en 30 sekunders test (-d30), deaktiverer maskinvare- og programvareinnsamling (-Sh), latent statistikkstatistikk (-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 lager en fil på c: \ testfile.dat på 50 MB i størrelse (-c50M). Hvis du vil benchmark D-stasjonen i stedet, for eksempel, vil du spesifisere d: \ testfile.dat
Diskspd.exe -b16K -d90 -Sh-L -o2 -t4 -r-w30-c50M c: \ testfile.dat
Etter hvor lenge du angir-30 sekunder i testen ovenfor, blir testresultatene skrevet ut til kommandoprompt, og du kan se dem.
Konsulter resultatene, og du vil se gjennomsnittlig MB / s stasjonen som ble nådd under testen - hvor mange skriveoperasjoner ble utført en sekund, hvor mange lesoperasjoner ble utført en sekund, og det totale antallet innspill / utdata (IO) operasjoner per sekund. Denne statistikken er mest nyttig når du sammenligner flere stasjoner for å se hvilke som er raskere for bestemte operasjoner, men de vil også fortelle deg nøyaktig hvor mye IO en harddisk kan håndtere.
Du kan også dumpe resultatene til en tekstfil du kan se senere med> operatøren. For eksempel kjører kommandoen under samme kommando som ovenfor og plasserer resultatene i filen C: \ testresults.txt.
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30-c50M c: \ testfile.dat> c: \ testresultater.txt
Gjenta denne prosessen for de andre stasjonene dine, og sammenlign.
Tilpasse stress test kommandoen
Hvis du prøver å finne ut hvilken som er den raskeste harddisken for en bestemt arbeidsbelastning, bør du opprette en kommando som best passer til denne arbeidsbelastningen. For eksempel, hvis det er en server som bare leser data og ikke skriver, bør du utføre en test på 100% leser som ikke måler noen skriveprestasjon. Kjør den stresstesten på tvers av flere stasjoner og sammenlign resultatene for å se hvilken 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, men her er noen viktige alternativer:
- -w angir prosentandelen av skrive- og leseoperasjoner. For eksempel vil innskriving -w40 utføre 40% skriveoperasjoner og dermed 60% leseoperasjoner. Entering -w100 vil utføre 100% skriveoperasjoner. Udelatelse av -w-bryteren eller inntasting -w0 vil utføre 0% skriveoperasjoner og dermed 100% leseoperasjoner.
- -r eller -s bestemmer om testen bruker enten tilfeldig tilgang eller sekvensiell operasjon. Angi -r for tilfeldig tilgang eller -s for sekvensiell. Dette hjelper deg med å teste for enten tilfeldig filtilgang (ofte en gjeng med små filer) eller sekvensiell filtilgang (ofte en stor fil som leses eller skrives på en gang).
- -t angir antall tråder som vil bli kjørt på samme tid, for eksempel -t2 for to tråder eller -6 for seks tråder.
- -o angir antall utestående forespørsler per tråd, for eksempel -04 for fire forespørsler eller -o2 for to resultater.
- -d er varigheten av testene i sekunder, for eksempel -90 i 90 sekunder eller-120 for 120 sekunder.
- -b er blokkstørrelsen på leser eller skriver, for eksempel -b16K for en 16K blokkstørrelse eller -b64K for en 64K blokkstørrelse.
Ved hjelp av disse alternativene kan du justere referansekommandoen for å se hvordan disken din utfører under varierende belastninger. Når du har skrevet en kommando som du føler deg tilnærmelsesvis den typen arbeidsbelastning du utfører på PCen, kan du stresse teste flere stasjoner og se hvilke som gir den beste ytelsen.