Vilka av dina hårddiskar är snabbast och är det verkligen så snabbt som tillverkaren lovade? Oavsett om du har en stationär PC eller en server, kommer Microsofts gratis Diskspd-verktyg att stresstesta och benchmarka dina hårddiskar.
OBS: En tidigare version av den här guiden förklarades med Microsofts gamla "SQLIO" -verktyg. Men 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-förmågan hos dina enheter, är Diskspd ett utmärkt verktyg. Diskspd berättar för dig vilken kapacitet en servers hårddiskar kan hantera, eller pekar på den snabbaste hårddisken du ska använda för tunga arbetsbelastningar (eller bara kräva PC-spel) på en stationär PC.
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, LDF på G-enheten och vårt operativsystem på vår C-enhet kan vi utvärdera om vår installation är effektiv. Till exempel, om MDF-filen är den mest trafikerade filen med läst och mest skrivande, vill vi att den ska vara på den snabbaste enheten.
Med hjälp av exemplet ovan med graferna (som representerar skrivningarna och läsningarna för OS, LDF och MDF) skulle vi placera 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 jag ladda ner Diskspd
Microsoft erbjuder detta utmärkta verktyg gratis, och du kan ladda ner den från Microsoft Technet . Det är till och med öppen källkod, så du kan ladda ner och inspektera eller modifiera 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 den 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 "amd64fre" -mappen är för 64-bitars Windows-datorer, medan den i "x86fre" -mappen är för 32-bitars Windows-datorer. Om du använder en 64-bitarsversion av Windows, och du antagligen gör det, vill du troligen använda 64-bitarsversionen.
Hur gör jag ett stresstest?
För att utföra ett enda test kan du helt enkelt anropa ett Diskspd-kommando från en administratörsaktiverad kommandotolk. I Windows 10 eller 8.1 högerklickar du på Start-knappen och väljer "Kommandotolken (Admin)". I Windows 7, leta reda på genvägen "Kommandotolken" 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 den Diskspd.exe du vill använda:
cd c: \ path \ to \ 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 fullständig lista med kommandoradsalternativ och användningsinformation i den 30-sidiga DiskSpd_Documentation.pdf-filen som ingår i Diskspd-arkivet du laddade ner.
Men om du vill komma igång snabbt, här är ett exempel på kommando. Följande kommando ställer in blockstorleken till 16K (-b16K), kör ett 30 sekunders test (-d30), inaktiverar hårdvaru- och programvarukassering (-Sh), mäter latensstatistik (-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 på c: \ testfile.dat på 50 MB i storlek (-c50M). Om du till exempel vill benchmarka din D: -enhet skulle du till exempel ange d: \ testfile.dat
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c: \ testfile.dat
Efter hur lång tid du har angett - 30 sekunder i ovanstående test - kommer testresultaten att skrivas ut till kommandotolken och du kan se dem.
Konsultera resultaten så ser du den genomsnittliga MB / s som enheten uppnådde under testet - hur många skrivoperationer som utfördes en sekund, hur många läsoperationer som utfördes en sekund och den totala mängden ingång / utgång (IO) per sekund. Denna statistik är mest användbar när man jämför flera enheter för att se vilka 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: \ testresults.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 arbetsbelastning bör du skapa ett kommando som bäst matchar den arbetsbelastningen. Till exempel, om det är en server som bara läser data och inte skriver, bör du utföra ett test på 100% läsningar som inte mäter någon skrivprestanda. Kör stresstestet över flera enheter och jämför resultaten för att se vilka som är snabbare för den typen av arbete.
Observera att det finns många, många andra kommandoradsalternativ som du kan ange för Diskspd.exe. Du hittar den mest kompletta och uppdaterade listan i dokumentationen som medföljer den nedladdade filen Diskspd.exe, men här är några viktiga alternativ:
- -i anger procent av skriv- och läsoperationer. Till exempel kommer in i -w40 40% skrivoperationer och därmed 60% läsoperationer. Ange -w100 kommer att utföra 100% skrivoperationer. Att utelämna -w-omkopplaren eller ange -w0 utför 0% skrivoperationer och därmed 100% läsoperationer.
- -r eller -s avgör om testet använder antingen slumpmässig åtkomst eller sekventiella operationer. Ange -r för slumpmässig åtkomst eller -s för sekventiell. Detta hjälper dig att testa antingen slumpmässig 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 antalet trådar som körs samtidigt, till exempel -t2 för två trådar eller -t6 för sex trådar.
- -De anger antalet utestående förfrågningar per tråd, till exempel -o4 för fyra förfrågningar eller -o2 för två resultat.
- -d är testets varaktighet i sekunder, till exempel -d90 i 90 sekunder eller -d120 i 120 sekunder.
- -b är blockstorleken för läsningarna eller skrivningarna, till exempel -b16K för en 16K-blockstorlek eller -b64K för en 64K-blockstorlek.
Med hjälp av dessa alternativ kan du justera riktmärket för att se hur din disk fungerar under olika belastningar. När du har skrivit ett kommando som du tycker är ungefär vilken typ av arbetsbelastning du utför på din dator kan du stresstesta flera enheter och se vilka som ger bäst prestanda.