A meglévő vagy tervezett tárolórendszer teljesítményének értékeléséhez az egyik fő mérőszám a IOPS (bemenet/ Kimenet művelet per második - bemeneti / kimeneti műveletek száma). Egyszerűen fogalmazva: az IOPS az egységenkénti adathordozóra vagy a fájlrendszerre olvasható vagy írható blokkok száma. Minél nagyobb ez a szám, annál jobb ennek a lemezes alrendszernek a teljesítménye (őszintén szólva, magát az IOPS-értéket figyelembe kell venni a tárolórendszerek más jellemzőivel, például az átlagos késéssel, átviteli sebességgel stb. Együtt).
Ebben a cikkben az IOPS-ban Windows alatt használt tárolórendszer teljesítményének mérésére számos módszert (helyi merevlemez, SSD meghajtó, SMB hálózati mappa, CSV kötet vagy LUN tárolva a SAN-ban).
Tartalom:
- Windows lemez alrendszer teljesítményszámlálói
- IOPS tesztelése Windows rendszeren a DiskSpd segítségével
- Hogyan érhető el az IOPS és a lemezes alrendszer teljesítménye a PowerShell használatával?
Windows lemez alrendszer teljesítményszámlálói
A lemezes alrendszer jelenlegi terhelését a beépített Windows teljesítményszámlálók segítségével értékelheti teljesítmény monitor. Adatok gyűjtése ezekről a számlálókról:
- kezdet
PerfMon
; - Hozzon létre új adatgyűjtő-készletet (Adatgyűjtő készlet). választ Hozzon létre manuálisan;
- Válasszon egy lehetőséget Készítsen adatnaplókat -> Teljesítményszámláló;
- Most az új adatgyűjtő készlet tulajdonságaihoz adja hozzá az objektum következő teljesítményszámlálóit Fizikai lemez (kiválaszthat számlálókat egy adott meghajtóra vagy az összes elérhető helyi meghajtóra):
- Átl. Disk Szeptember / Átadás
- Átl. A lemez sorának hossza
- Átlagos lemezbájt / átvitel
- Lemez bájt / mp
- Lemezátvitel / mp
- IO / sec felosztása
- Megváltoztathatja az egyéb adatgyűjtési lehetőségeket. Alapértelmezés szerint a számláló értékeket 15 másodpercenként gyűjtik.A valósidejű lemezteljesítmény-adatok megjelenítéséhez adja hozzá a megadott számlálót a Perfmonhoz a Megfigyelő eszközök -> Teljesítményfigyelő szakaszban..
- Meg kell kezdeni a teljesítményszámláló-adatok gyűjtését (kezdet), és várja meg az elemzéshez elegendő információ gyűjtését. Ezután kattintson az RMB elemre a set u select menüben leállítása;
- Az összegyűjtött lemez adatok megtekintéséhez keresse fel a Perfmon -> Jelentések -> Felhasználó által definiált -> Data_Disk_IO -> a készlet. Alapértelmezés szerint a lemez adatok grafikonként jelennek meg;
- Az
Ctrl + G
váltson üzemmódba jelentés.
Hogyan értelmezhető a lemez teljesítményének eredménye a Perfmon-ban? A lemezes alrendszer teljesítményének gyors elemzéséhez meg kell vizsgálnia legalább a következő 5 számláló értékét.
A számláló adatok elemzésekor kívánatos lenne áttekintést adni a fizikai lemezek konfigurációjáról (hogy RAID / Stripe / lemezek száma és típusa van-e használt, a gyorsítótár elérhetősége stb.).- tárcsa sec/ Átadás - a tároló eszköz / lemez - lemez késés egy írási / olvasási művelet végrehajtásához szükséges idő. Ha a késleltetés meghaladja a 25 ms-ot (0,25) vagy annál nagyobb, akkor a lemeztáblának nincs ideje műveletek végrehajtására. Nagyon terhelt rendszereknél az érték nem haladhatja meg a 10 ms-ot (0,1);
- Lemezátvitel / mp - Az olvasási / írási műveletek száma másodpercenként (IOPS). Ez a lemezekhez való hozzáférés intenzitásának fő mutatója (az IOPS közelítő értékei a különféle típusú lemezekre a cikk végén kerülnek bemutatásra);
- tárcsa bytes/ Sec - átlagos lemezcsere (olvasás / írás) másodpercenként. A maximális értékek a lemez típusától függenek (150–250 MB / másodperc - normál lemezhez és 500–10000 az SSD-hez);
- osztott IO/ sec - a lemez széttöredezettségének jelzője, amikor az operációs rendszernek egy I / O műveletet több műveletre kell felosztania. Azt is jelezheti, hogy az alkalmazás túlságosan sok olyan adatblokkot igényel, amelyeket nem lehet egyetlen művelettel továbbítani;
- Átlagos. tárcsa sorban áll hossz- sor hossza a lemezen (a feldolgozásig folyamatban lévő tranzakciók száma). Egyetlen lemezen a sor hossza nem haladhatja meg a 2-et. 4 lemezes RAID-tömb esetén a 8-ig terjedő sorhossz érvényes értéknek tekinthető..
IOPS tesztelése Windows rendszeren a DiskSpd segítségével
A Microsoft azt javasolja, hogy a segédprogramot használjanak a lemez alrendszerének terheléséhez és annak teljesítményének méréséhez. DiskSpd (Https://aka.ms/diskspd). Ez egy konzol segédprogram, amely I / O műveleteket hajthat végre a megadott célponttal több szálban. Nagyon gyakran használom ezt a segédprogramot a tárolás teljesítményének mérésére az IOPS-ben, és megkapom a maximális olvasási / írási sebességet ebből a szerverből (természetesen a teljesítményt a tárolási oldalról is meg lehet mérni, ebben az esetben a diskspd-t használják a betöltés generálására).
A segédprogram nem igényel telepítést, csak töltse le és csomagolja ki az archívumot egy helyi lemezre. X64 bites rendszerek esetén használja az amd64fre könyvtár diskspd.exe verzióját.
A következő parancsot használom a lemez tesztelésére:
diskspd.exe -c50G -d300 -r -w40 -t8 -o32 -b64K -Sh -L E: \ diskpsdtmp.dat> DiskSpeedResults.txt
-c50G
- fájlméret 50 GB (jobb, ha nagy fájlméretet használunk, hogy az ne illeszkedjen a tárolóvezérlő gyorsítótárába);-D30
0 - a teszt időtartama másodpercben;-r
- véletlenszerű olvasás / írás (ha szekvenciális hozzáférést kell tesztelnie, használja a -s);-t8
- szálak száma;-W40
- az írási műveletek és az olvasási műveletek aránya 40% / 60%;-Ø32
- sor hossza;-b64K
- blokk mérete;-sh
- Ne használjon gyorsítótárazást-L
- mérje a késleltetést;E: \ diskpsdtmp.dat
- teszt fájl elérési útja.
A stresszteszt elvégzése után az átlagos teljesítményértékeket a kapott táblázatokból lehet megszerezni..
Például a teszt során a következő általános teljesítményadatokat (teljes IO) szereztem meg:
- MiB / s - 241 (kb. 252 Mb / s, nem rossz)
- IOPS - 3866.49 (kiváló!)
- Átlagos késés - 66,206 ms (egy kicsit magas!)
Az egyedi értékeket csak olvasott műveletekhez kaphatja meg (4. Szakasz) Olvasás IO ) vagy nyilvántartások (4. szakasz) Write IO ).
Miután több lemezt vagy LUN-ot tesztelt a tároláson a diskspd használatával, összehasonlíthatja őket, vagy kiválaszthat tömböt a feladathoz szükséges teljesítményhez.
Hogyan érhető el az IOPS és a lemezes alrendszer teljesítménye a PowerShell használatával?
Nemrég találkoztam egy PowerShell szkripttel (a Microsoft MVP szerzője, Mikael Nystrom), amely lényegében a segédprogram kiegészítője. SQLIO.exe (tesztkészlet a fájltárolási teljesítmény kiszámításához).
megjegyzés. 2015 decemberében a Microsoft bejelentette a segédprogram támogatásának megszüntetését és az SQLIO helyettesítését egy univerzálisabb eszközzel - Diskspd, az SQLIO terjesztési fájlok törlésével a webhelyről. Ezért magának kell keresnie az sqlio.exe fájlt, vagy töltse le a weboldalunkon (az archívumban található a szkripttel).
Tehát töltse le a 2 fájlt tartalmazó archívumot: SQLIO.exe és DiskPerformance.ps1 (disk-perf-iops.ZIP - 73Kb), és bontsa ki az archívum tetszőleges könyvtárba.
Példa egy PowerShell-parancsfájl futtatására az IOPS meghatározására:
.\ DiskPerformance.ps1 -TestFileName test.dat -TestFileSizeInGB 1 -TestFilepath C: \ temp -TestMode Get-LargeIO - FastMode True --RemoveTestFile True - OutputFormat Out-GridView
A következő argumentumokat használtam a szkriptben:
- -TestFileName teszt.dat - az FSUTIL segédprogrammal létrehozott fájl neve;
- -TestFileSizeInGB 1 - rfájlméret a tesztekhez. Érvényes opciók: 1,5,10,50,100,500,1000 GB. A fájl méretének nagyobbnak kell lennie, mint a rendszer gyorsítótárának. Ellenkező esetben az IOPS-t a gyorsítótárban lévő adatok alapján fogják megmérni, nem a lemezen;
- -TestFilepath C: \ Temp - jelzi azt a meghajtót, amelyre a teljesítmény kiszámítását elvégzi, és azt a meghajtót, amelyben a tesztfájl létrejön. Megengedett a UNC elérési útjának megadása a hálózati mappához;
- -TestMode kap-LargeIO - eKét terhelésmérési lehetőség van., kap-SmallIO - IOPS mérve, kap-LargeIO - mért adatsebesség. A különbség a SmallIO és a LargeIO argumentumok között, blokkméretekben, ha 8 és 812 ktbyte sebességet mérnek, valamint a véletlenszerű vagy a szekvenciális hozzáférés típusa között;
- -FastMode igaz - gyors üzemmódban minden teszt 10 másodpercig tart, egyébként 60 másodpercig;
- -RemoveTestFile igaz - törölje a teszt fájlt a teszt végén;
- -OutputFormat ki-GridView - a mérési eredmények kimenete a PowerShell konzolra lehetséges (formátum-táblázat) vagy a grafikus táblázat külön ablakában (ki-Gridview);
Esetünkben a lemeztárat (a virtuális vmdk lemezt a VMFS tárolón teszteltük, amely a HP MSA 2040 lemeztáblán található, hozzáféréssel SAN-on keresztül) átlagos IOPS körülbelül 15000 és az adatátviteli sebesség (sávszélesség) kb 5 Gb / s.
Az alábbi táblázat a meghajtók különböző típusainak megközelítő IOPS-értékeit mutatja:
típus | IOPS |
SSD (SLC) | 6000 |
SSD (MLC) | 1000 |
15K / perc | 175-200 |
10K / perc | 125-150 |
7,2K RPM | 50-75 |
6 meghajtó RAID5 10 000 ford / perc sebességgel | 900 |
Az alábbiakban felsorolunk néhány javaslatot az IOPS általános szolgáltatásának lemezteljesítményére:
- Microsoft csere 2010 - 5000 felhasználóval, akik mindegyike 75-et kap, és naponta 30 levelet küld, legalább 3750 IOPS-re lesz szükség
- Microsoft SQL 2008 szerver - másodpercenként 3500 SQL tranzakcióval (TPS) - 28000 IOPS
- Normál Windows alkalmazáskiszolgáló 10-100 felhasználó számára - 10-40 IOPS