Hur stressar du hårddiskarna i din dator eller server
Vilken av dina hårddiskar är det snabbaste, och är det verkligen så snabbt som tillverkaren lovat? Oavsett om du har en stationär dator eller en server, kommer Microsofts gratis Diskspd-verktyg att spänna testet och jämföra dina hårddiskar.
OBS! En tidigare version av den här guiden förklaras med Microsofts gamla "SQLIO" -verktyg. Microsoft erbjuder nu bara "Diskspd" -verktyget, som ersätter SQLIO, så vi har uppdaterat den här guiden med helt nya instruktioner.
Varför använda Diskspd?
Om du vill veta IO-egenskaperna hos dina enheter, gör Diskspd ett utmärkt verktyg. Diskspd kommer att berätta hur stor kapacitet en seriens hårddiskar kan hantera eller peka på den snabbaste hårddisken som du ska använda för stora arbetsbelastningar (eller bara krävande PC-spel) på en stationär dator.
Låt oss anta att vi har tre enheter på en server: en F-enhet, G-enhet och C-enhet. Om vi har vår MDF på F-enheten, kan LDF på G-enheten och vårt operativsystem på vår C-enhet utvärdera om vår inställning är effektiv. Om MDF-filen till exempel är den mest trafikerade filen läser och skriver mest, vill vi att den ska vara den snabbaste enheten.
Med hjälp av ovanstående exempel med diagrammen (som representerar skrivningarna och läser för OS, LDF och MDF) placerar vi vår MDF-fil på den snabbaste enheten eftersom vår MDF är den mest trafikerade. Om vår Diskspd-analys visade att F var vår snabbaste enhet, skulle vi placera vår MDF-fil på enhet F.
Var kan du ladda ner Diskspd
Microsoft erbjuder detta fantastiska verktyg gratis, och du kan ladda ner det från Microsoft Technet. Det är även öppen källkod, så du kan ladda ner och inspektera eller ändra källkoden från GitHub.
Diskspd har testats för att fungera på stationära versioner av Windows 7, 8, 8.1, 10, samt Windows Server 2012, 2012 R2 och 2016 Technical Preview 5.
När du har laddat ner det måste du extrahera innehållet i .zip-filen till en mapp på din dator. Observera att arkivet innehåller tre olika "diskspd.exe" -filer. Den i mappen "amd64fre" är för 64-bitars Windows-datorer, medan den i mappen "x86fre" är för 32-bitars Windows-datorer. Om du använder en 64-bitarsversion av Windows, och du är förmodligen, kommer du sannolikt att vilja använda 64-bitarsversionen.
Hur utför jag ett stressprov?
För att utföra ett enda test kan du enkelt anropa ett diskspd-kommando från en administratörsaktiverad kommandotolk. Högerklicka på Start-knappen i Windows 10 eller 8.1 och välj "Kommandotolk (Admin)". I Windows 7, leta reda på "Kommandotolk" genväg i Start-menyn, högerklicka på den och välj "Kör som administratör.
Använd först CD
för att växla till katalogen som innehåller Diskspd.exe du vill använda:
cd c: \ path \ till \ diskspd \ amd64fre
I vårt fall såg det ut som kommandot nedan.
Kör nu kommandot Diskspd med de alternativ du vill använda. Du hittar en komplett lista över kommandoradsalternativ och användningsinformation i 30-sidiga DiskSpd_Documentation.pdf-filen som ingår i Diskspd-arkivet du laddat ner.
Men om du vill komma igång snabbt, här är ett exempel kommando. Följande kommando ställer in blockstorlek till 16K (-b16K), kör 30 sekunders test (-d30), inaktiverar hårdvaru- och mjukvaruinsättning (-Sh), latent statistik (-L), använder två IO-förfrågningar per tråd (- o2) och fyra trådar (-t4) per mål, använder slumpmässig åtkomst snarare än sekventiell skrivning (-r), utför 30% skrivoperationer och 70% läsoperationer (-w30).
Det skapar en fil vid c: \ testfile.dat av 50 MB i storlek (-c50M). Om du vill benchmarka din D: -driven istället, skulle du ange d: \ testfile.dat
Diskspd.exe -b16K -d90 -Sh-L -o2 -t4 -r-w30-c50M c: \ testfile.dat
Efter hur lång tid du anger-30 sekunder i ovanstående test-testresultaten skrivs ut till kommandotolken och du kan se dem.
Konsultera resultatet och du får se den genomsnittliga MB / s-enheten som uppnåddes under testet. Hur många skrivoperationer utfördes en sekund, hur många läsoperationer som utfördes en sekund och det totala antalet inmatnings- / utmatningsoperationer (IO) per sekund. Denna statistik är mest användbar när man jämför flera enheter för att se vilken som är snabbare för vissa operationer, men de kommer också att berätta exakt hur mycket IO en hårddisk kan hantera.
Du kan också dumpa resultaten till en textfil som du kan se senare med> operatören. Till exempel kör kommandot nedan samma kommando som ovan och placerar resultaten i filen C: \ testresults.txt.
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30-c50M c: \ testfile.dat> c: \ testresultat.txt
Upprepa denna process för dina andra enheter, och jämför.
Anpassa ditt stresstestkommando
Om du försöker lista ut vilken som är den snabbaste hårddisken för en viss arbetsbörda, bör du skapa ett kommando som bäst motsvarar den här arbetsbelastningen. Om det till exempel är en server som endast läser data och inte skriver, borde du utföra ett test på 100% som inte mäter någon skrivprestanda. Kör det stresstestet över flera enheter och jämföra resultaten för att se vilken som är snabbare för den typen av arbete.
Observera att det finns många, många andra kommandoradsalternativ du kan ange för Diskspd.exe. Du hittar den mest kompletta, aktuella listan i dokumentationen som följer med den nedladdade Diskspd.exe-filen, men här är några viktiga alternativ:
- -w anger procent av skriv- och läsoperationer. Till exempel kommer in-w40 att utföra 40% skrivoperationer och därmed 60% läsoperationer. Entering -w100 kommer att utföra 100% skrivoperationer. Om du lämnar -w-omkopplaren eller anger -w0 kommer du att utföra 0% skrivoperationer och därmed 100% läsoperationer.
- -r eller -s bestämmer om testet använder antingen slumpmässig åtkomst eller sekventiell operation. Ange -r för slumpmässig åtkomst eller -s för sekventiell. Detta hjälper dig att testa för antingen slumpvis filåtkomst (ofta en massa små filer) eller sekventiell filåtkomst (ofta en stor fil som läses eller skrivs på en gång).
- -t anger antal trådar som körs samtidigt, till exempel -t2 för två trådar eller -t6 för sex trådar.
- -o anger antal utestående förfrågningar per tråd, till exempel -4 för fyra förfrågningar eller -o2 för två resultat.
- -d är testens varaktighet i sekunder, till exempel -d90 i 90 sekunder eller -d120 i 120 sekunder.
- -b är blockstorleken på läser eller skriver, till exempel -b16K för en 16K blockstorlek eller -b64K för en 64K blockstorlek.
Med hjälp av dessa alternativ kan du tweak benchmark-kommandot för att se hur din disk utför under varierande belastningar. När du har skrivit ett kommando som du känner approximativt den typ av arbetsbelastning du utför på din dator kan du stressa test flera enheter och se vilka som erbjuder den bästa prestandan.