In verband met het samenstellen van een testmethodiek voor het benchmarken van harde schijven ben ik de laatste twee dagen bezig geweest met het maken van IOMeter toegangspatronen voor het simuleren van desktop en workstation diskperformance. IOMeter is een open source disk en netwerk I/O benchmark van Intel. In professionele kringen wordt het gebruikt om bijvoorbeeld database-server toegangspatronen te testen op serversystemen. Het simuleren van toegangspatronen is een veel realistischer methode om schijfperformance te benchmarken dan het meten van maximale sequentiële transferrates (STR's) en gemiddelde toegangstijden.
Er bestaat nog een betere methode om schijfperformance te testen en dat is door realworld toegangspatronen van applicaties op te nemen en later weer af te spelen. Dat kan o.a. met de Intel IPEAK suite, alleen is die software niet meer verkrijgbaar en hangt er een nogal prijskaartje van 1000 dollar aan. Storage Review gebruikt IPEAK voor hun desktop benchmarks.
Ik heb twee toegangspartronen die ik heb samengesteld die zijn gebaseerd op de verdeling van de filegroottes op mijn Windows XP (WinXP toegangspatroon) en data partities (Workstation toegangspatroon). De data partitie bevat veel foto's, grote Photoshop files en nog een hoop kleine files zoals PHP scripts, tesktbestanden, GIFjes en JPEGjes die voor Tweakers.net zijn gebruikt. Het fileserver toegangspatroon is afkomstig van Intel en test pure random I/O.
Wat heb je nodig om de benchmark te draaien?
- 1GB vrije ruimte (om het goed te doen zou je een nog groter gebied van de schijf moeten testen omdat de koppen dan grotere afstanden moeten afleggen, maar niet iedereen heeft zin op 18GB voor een benchmark op te offeren en minuten lang te wachten tot een testfile is aangemaakt)
- IOMeter, te downloaden vanaf SourceForge (926KB)
- Toegangsspecificaties (6KB)
Hoe werkt 't?
IOMeter is niet de meest gebruiksvriendelijke benchmark. Hier ff een korte uitleg met screenshots hoe je de benchmark aan de gang krijgt:
1) Selecteer een partitie
Druk op het computericoontje ('Start a new manager') en selecteer de gewenste partitie waarop je de benchmark wil draaien. De Maximum Disk Size moet ingestel worden op 2.000.000 sectors voor een testfile van 1GB bij een sectorgrootte van 512 bytes. Het aantal outstanding I/O's moet op 1 gezet worden.
screenshot
2) Selecteer access specification
De workloads.icf file inladen en het Windows XP, Workstation of Fileserver toegangspatroon selecteren.
screenshot
3) Test Setup
Kies hier een ramp up time van 10 seconden, run time van 1 minuut, 1 worker ongeacht aantal CPU's, record results op all, 'Cycle # Outstanding I/Os - run step outstanding I/Os on all disks at a time' bij cycling options, 1 outstanding I/O om te beginnen, 8 om te eindigen, power van 2 en exponentiële stepping (precies zoals in plaatje hierboven).
De fileserver instellingen zijn zwaarder: start 1, end 64, power 4, exponential stepping (de belasting op een desktop komt zelden boven 8 outstanding I/O's, het is niet nuttig om zwaarder te testen).
screenshot
Vervolgens kun je de benchmark draaien door op het vlaggetje te klikken. Hij gaat nu vijf runs draaien van bij elkaar 5 minuten. De tussenuitslagen kun je volgen via results display. De resultaten worden gesaved in een CSV file die je o.a. met Excel kunt importeren. De transferrate (MBps, read+write) is in dit geval het resultaat waar we naar zoeken bij de WinXP en Workstation test. De fileserver performance wordt doorgaans in I/O's per sconde (IOps) uitgedrukt.
Vermeld bij de resultaten ook het type HDD type, chipset, I/O controller, PCI snelheid, evt. RAID configuratie, evt. max. ATTO STR van je configuratie en de 'plek' op de schijf waar de benchmark werd gedraaid (binnenste of buitenste sporen kan nogal een verschil maken).
Resultaten
Configuratie:
Moederbord: Asus A7M266-D
Chipset: AMD 760MPX
Controller: LSI Logic 53C1010-66 dual channel Ultra160
PCI bus: 64-bit, 66MHz
Resultaten met Seagate Cheetah X15-36LP (15.000rpm, 36,7GB) ergens rond de buitenste sporen:
(Queue depth 1 - 2 - 4 - 8 I/O's)
Workstation TR: 45,2MB/s - 46,7MB/s - 47,1MB/s - 42,6MB/s
Windows XP TR: 28,1MB/s - 29,8MB/s - 35,2MB/s - 36,4MB/s
(Queue depth 1 - 4 - 8 - 16 - 64 I/O's)
Fileserver TR: 3,0MB/s - 4,9MB/s - 6,9MB/s - 7,2MB/s
Fileserver I/O: 275,8 IOps - 446,6 IOps - 649,4 IOps - 673,4 IOps
Max ATTO STR: 59,9MB/s
Resultaten met Maxtor Atlas 10K III (10.000rpm, 18,4GB) ergens halverwege de schijf:
Workstation TR: 33,0MB/s - 34,2MB/s - 34,8MB/s - 32,6MB/s
Windows XP TR: 17,7MB/s - 19,5MB/s - 21,5MB/s - 25,4MB/s
Fileserver TR: 2,1MB/s - 3,1MB/s - 4,9MB/s - 5,1MB/s
Fileserver I/O: 201,7 IOps - 283,9 IOps - 441,0 IOps - 468,0 IOps
Max ATTO STR: 49,6MB/s
Er bestaat nog een betere methode om schijfperformance te testen en dat is door realworld toegangspatronen van applicaties op te nemen en later weer af te spelen. Dat kan o.a. met de Intel IPEAK suite, alleen is die software niet meer verkrijgbaar en hangt er een nogal prijskaartje van 1000 dollar aan. Storage Review gebruikt IPEAK voor hun desktop benchmarks.
Ik heb twee toegangspartronen die ik heb samengesteld die zijn gebaseerd op de verdeling van de filegroottes op mijn Windows XP (WinXP toegangspatroon) en data partities (Workstation toegangspatroon). De data partitie bevat veel foto's, grote Photoshop files en nog een hoop kleine files zoals PHP scripts, tesktbestanden, GIFjes en JPEGjes die voor Tweakers.net zijn gebruikt. Het fileserver toegangspatroon is afkomstig van Intel en test pure random I/O.
Wat heb je nodig om de benchmark te draaien?
- 1GB vrije ruimte (om het goed te doen zou je een nog groter gebied van de schijf moeten testen omdat de koppen dan grotere afstanden moeten afleggen, maar niet iedereen heeft zin op 18GB voor een benchmark op te offeren en minuten lang te wachten tot een testfile is aangemaakt)
- IOMeter, te downloaden vanaf SourceForge (926KB)
- Toegangsspecificaties (6KB)
Hoe werkt 't?
IOMeter is niet de meest gebruiksvriendelijke benchmark. Hier ff een korte uitleg met screenshots hoe je de benchmark aan de gang krijgt:
1) Selecteer een partitie
Druk op het computericoontje ('Start a new manager') en selecteer de gewenste partitie waarop je de benchmark wil draaien. De Maximum Disk Size moet ingestel worden op 2.000.000 sectors voor een testfile van 1GB bij een sectorgrootte van 512 bytes. Het aantal outstanding I/O's moet op 1 gezet worden.
screenshot
2) Selecteer access specification
De workloads.icf file inladen en het Windows XP, Workstation of Fileserver toegangspatroon selecteren.
screenshot
3) Test Setup
Kies hier een ramp up time van 10 seconden, run time van 1 minuut, 1 worker ongeacht aantal CPU's, record results op all, 'Cycle # Outstanding I/Os - run step outstanding I/Os on all disks at a time' bij cycling options, 1 outstanding I/O om te beginnen, 8 om te eindigen, power van 2 en exponentiële stepping (precies zoals in plaatje hierboven).
De fileserver instellingen zijn zwaarder: start 1, end 64, power 4, exponential stepping (de belasting op een desktop komt zelden boven 8 outstanding I/O's, het is niet nuttig om zwaarder te testen).
screenshot
Vervolgens kun je de benchmark draaien door op het vlaggetje te klikken. Hij gaat nu vijf runs draaien van bij elkaar 5 minuten. De tussenuitslagen kun je volgen via results display. De resultaten worden gesaved in een CSV file die je o.a. met Excel kunt importeren. De transferrate (MBps, read+write) is in dit geval het resultaat waar we naar zoeken bij de WinXP en Workstation test. De fileserver performance wordt doorgaans in I/O's per sconde (IOps) uitgedrukt.
Vermeld bij de resultaten ook het type HDD type, chipset, I/O controller, PCI snelheid, evt. RAID configuratie, evt. max. ATTO STR van je configuratie en de 'plek' op de schijf waar de benchmark werd gedraaid (binnenste of buitenste sporen kan nogal een verschil maken).
Resultaten
Configuratie:
Moederbord: Asus A7M266-D
Chipset: AMD 760MPX
Controller: LSI Logic 53C1010-66 dual channel Ultra160
PCI bus: 64-bit, 66MHz
Resultaten met Seagate Cheetah X15-36LP (15.000rpm, 36,7GB) ergens rond de buitenste sporen:
(Queue depth 1 - 2 - 4 - 8 I/O's)
Workstation TR: 45,2MB/s - 46,7MB/s - 47,1MB/s - 42,6MB/s
Windows XP TR: 28,1MB/s - 29,8MB/s - 35,2MB/s - 36,4MB/s
(Queue depth 1 - 4 - 8 - 16 - 64 I/O's)
Fileserver TR: 3,0MB/s - 4,9MB/s - 6,9MB/s - 7,2MB/s
Fileserver I/O: 275,8 IOps - 446,6 IOps - 649,4 IOps - 673,4 IOps
Max ATTO STR: 59,9MB/s
Resultaten met Maxtor Atlas 10K III (10.000rpm, 18,4GB) ergens halverwege de schijf:
Workstation TR: 33,0MB/s - 34,2MB/s - 34,8MB/s - 32,6MB/s
Windows XP TR: 17,7MB/s - 19,5MB/s - 21,5MB/s - 25,4MB/s
Fileserver TR: 2,1MB/s - 3,1MB/s - 4,9MB/s - 5,1MB/s
Fileserver I/O: 201,7 IOps - 283,9 IOps - 441,0 IOps - 468,0 IOps
Max ATTO STR: 49,6MB/s
[ Voor 5% gewijzigd door Femme op 24-01-2003 01:31 ]