In het afgelopen jaar heb je op Tweakers.net een aantal RAID reviews kunnen lezen waarin testmethoden werden gebruikt die uniek zijn voor het internet. Storage performance is een gebied waar nog een grote schaarste heerst aan goede benchmarks en testmethoden. Er zijn weliswaar veel tools verkrijgbaar die low-level eigenschappen kunnen meten, maar veel relatie met real world performance hebben dergelijke benchmarks niet. StorageReview.com heeft baanbrekend werk verricht op het gebied van storage benchmarking. In onze StorageMark 2003 testmethodiek werd voortgeborduurd op de bevindingen van Storage Review. Na een jaar van ervaring met het testen van harde schijven en RAID-adapters is het tijd om onze eigen bevindingen in een nieuwe benchmark suite te verwerken. In deze .plan wordt een globale opzet van de nieuw te ontwikkelen testmethodiek gepresenteerd. We hopen met suggesties en feedback van bezoekers de puntjes op de i te zetten.
Uitgangspunt
Het uitgangspunt van de benchmarks is het meten van real world performance. Er is een ruime sortering van allerhande benchmarktools voorradig die de sequentiële transfer rates en de gemiddelde toegangstijd van harde schijven kunnen meten, maar dat is niet wat we zoeken. Harde schijven doen heel wat meer dan alleen sequentieel of juist volledig willekeurig lezen en schrijven. Factoren zoals command queuing en de cache op de harde schijf en de I/O controller kunnen een grote invloed op de prestaties uitoefenen. Dat is bij RAID-systemen nog veel meer het geval dan bij losstaande harde schijven.
Om de prestaties van harde schijven en RAID-systemen in natuurgetrouwe situaties te kunnen meten, maken we gebruik van een tool genaamd Intel IPEAK Storage Performance Toolkit. De ondersteuning van IPEAK SPT werd helaas al weer enkele jaren geleden door Intel stopgezet, maar nog steeds is het programma uniek in zijn mogelijkheden. IPEAK SPT bestaat uit verschillende onderdelen waarvan WinTrace32 de mogelijkheid biedt om schijfbenadering in Windows in een trace vast te leggen. De traces kunnen vervolgens met de tool RankDisk op elke willekeurige harde schijf of (hardwarematige) RAID array afgespeeld worden. RankDisk benadert de fysieke schijf zodat het bestandssysteem en de file cache van het besturingssysteem geen effect hebben op de uitvoering van de test. Zodoende kunnen de tests worden uitgevoerd in een geïsoleerde omgeving waarin enkel de harde schijven, de I/O controller en het moederbord (met name de PCI-bus) invloed uitoefenen op de resultaten. Overigens spelen het bestandssysteem en de file cache wel degelijk een rol in de benchmark. De invloed van deze factoren is al verwerkt in de trace en is daardoor constant voor alle keren dat de trace wordt afgespeeld.
Testconfiguratie
Gelijktijdig met de vervanging van de benchmarks zal het testsysteem worden opgewaardeerd naar een modernere configuratie. De dual Athlon XP 2400+ zal worden vervangen door een single Opteron 240 op een MSI K8D Master servermoederbord met 100MHz PCI-X. Voor het testen van Serial ATA-harde schijven zal een Promise FastTrak S150 TX2plus gebruikt worden. Een FastTrak TX4000 zal dienen als I/O controller voor parallel ATA tests en een Tekram DC-390U4B single channel Ultra320 SCSI-adapter zal gebruikt worden voor tests van SCSI-harde schijven. De processors, het moederbord, de ATA-adapters en de SCSI-adapter werden beschikbaar gesteld door respectievelijk AMD, MSI, Promise en Tekram. We hopen de FastTrak S150 TX2plus zo snel mogelijk te kunnen vervangen door een controller met ondersteuning voor tagged command queuing en Serial ATA native command queuing, zodat de komende generatie Serial ATA-harde schijven onder optimale omstandigheden getest kunnen worden.
- StorageMark 2004 testconfiguratie:
- AMD Opteron 240 (1,4GHz)
- 512MB PC2100 ECC Registered DDR SDRAM
- MSI K8D Master
- Western Digital WD200BB bootdrive
- Promise FastTrak S150 TX2plus
- Promise FastTrak TX4000
- Tekram DC-390U4B
- Chenbro SR-103 behuizing
- Zippy 460W EPS12V voeding

De traces voor de nieuwe desktop benchmarks zullen gecreëerd worden op het oude testsysteem, die voor deze gelegenheid zal worden voorzien van 1GB geheugen, een MSI GeForce FX 5900 videokaart en een Western Digital Raptor WD360GD harde schijf. De prestaties van deze configuratie zijn representatief voor een gemiddeld high-end systeem dat de tweaker thuis heeft staan. De serverbenchmarks zullen gemaakt worden op een dual Opteron 240 met 2GB RAM en een nog nader te definiëren SCSI RAID-configuratie.
Low-level benchmarks
Hoewel de belangrijkste rol in de benchmark suite is weggelegd voor RankDisk benchmarks, zullen er uiteraard ook tests gedraaid worden die de low-level prestatiekarakteristieken van harde schijven en RAID-systemen in beeld kunnen brengen. De volgende tests zullen hiervoor gebruikt worden:
- Winbench 99 v2.0 Disk Inspection: sequentiële read transfer rate en gemiddelde toegangstijd
- IOMeter: sequentiële read en write transfer rates
- IPEAK SPT AnalyzeDisk: buffer transfer rate, read queuing optimalisaties en diverse andere eigenschappen
- IOMeter file server toegangspatroon: gemiddelde toegangstijd en command queuing optimalisaties
Desktop benchmarks
De desktop benchmarks in de StorageMark 2003 testmethodiek bestonden uit vier algemene office en workstation tests, aangevuld met specifieke tests van I/O intensieve taken zoals een virusscan, backup, schijfdefragmentatie en het installeren van grote softwarepakketten. De algemene tests waren gebaseerd op traces van Business Winstone 2001 en Content Creation Winstone 2002. Deze waren beide in een light en een heavy variant uitgevoerd. De nieuwe testmethodiek zal geen onderscheid meer maken tussen lichte en zwaardere versies. De eigenschappen van beide uitvoeringen bleken behoorlijk dicht bij elkaar te liggen. Het is nuttiger om een breder spectrum van toepassingen te benchen dan om dezelfde toepassingen in verschillende versies te testen.
Als basis voor de algemene office en workstationtests zullen traces van Business Winstone 2004 en Multimedia Content Creation Winstone 2004 gebruikt worden. Winstone is een applicatiebenchmark die de handeling van een gebruik simuleert in bekende office en workstation applicaties, waaronder Norton Anti-Virus, de 2002-versies van Microsoft Office, Photoshop 7, Premiere 6.5, Windows Media Encoder 9, LightWave 7.5 en Steinberg WaveLab 4. We zijn van mening dat dit een snellere en betere methode is om een benchmark te maken dan wanneer we zelf in wat applicaties gaan rondklikken. De ontwikkelaars van Winstone hebben al veel onderzoek verricht naar de wijze waarop mensen hun pc gebruiken. Winstone concentreert zich op zogenaamde 'hotspots' - momenten waarop het systeem écht hard aan het werk gezet wordt. Dat zijn ook de activiteiten waarbij de performance van de harde schijf een belangrijke rol speelt. De schijfactiviteit van de applicaties in de Winstone suites zullen aangedikt worden met wat lichte achtergrond activiteit van een p2p-sharing programma en het branden van een cd gedurende een gedeelte van de test.
De gamers werden in de vorige testmethodiek nogal genegeerd. Ten onrechte, want games hebben altijd al hoge eisen gesteld aan de harde schijf of - in vroege tijden - de floppy disk en bandrecorder . De nieuwe suite zal traces bevatten van het opstarten en het in laden van levels in een aantal bekende games. De specifieke games moeten nog bepaald worden.
De drie basistests - office, workstation en gaming - zullen aangevuld worden met diverse tests van bijzondere I/O intensieve activiteiten. Dit zullen korte tests zijn zodat de gehele benchmarksuite binnen een praktische tijd gedraaid kan worden. Bij het testen van harde schijven is het geen probleem als de RankDisk benchmarks vijf uur duren, maar bij het testen van RAID-adapters is dat anders. Die moeten immers in veel verschillende RAID levels getest en worden. Voordat er met testen begonnen kan worden zal bovendien de optimale instelling van stripe size en cache strategie gevonden moeten worden. Dit kan zeer veel tijd kosten.
De voorstellen voor de desktopbenchmarks zijn als volgt:
- Office:
- Business Winstone 2004
- Microsoft Access 2002
- Microsoft Excel 2002
- Microsoft Frontpage 2002
- Microsoft Outlook 2002
- Microsoft PowerPoint 2002
- Microsoft Project 2002
- Microsoft Word 2002
- Norton AntiVirus Professional Edition 2003
- WinZip 8.1
- Nero cd recording, eMule in de achtergrond
- Workstation:
- Multimedia Concent Creation Winstone 2004
- Adobe Photoshop 7.0.1
- Adobe Premiere 6.5
- Macromedia Director MX 9.0
- Macromedia Dreamweaver MX 6.1
- Microsoft Windows Media Encoder 9.0
- NewTek LightWave 3D 7.5b
- Steinberg WaveLab 4.0f
- Nero cd recording, eMule in de achtergrond
- Gaming:
- Game startup en level loads in verscheidene games
- Aanvullende tests:
- File copy schijf A -> B
- File copy schijf B -> A
- File copy A -> A
- Winzip compressie A -> A
- Virusscan
- Defragmentatie
- Windows XP boot
- Windows Explorer zoekopdracht
- Windows switch user met draaiende applicaties
- IfoEdit dvd strip A -> A
- Software installatie
- Photoshop open & save groot bestand (~200MB)
Server benchmarks
Voor het testen van server performance hebben we lange tijd vertrouwd op IOMeter, een tool waarmee kunstmatige toegangspatronen gegenereerd kunnen worden. IOMeter is perfect voor het meten van sequentiële transfers rates en willekeurige toegangspatronen bij verschillende niveau's van uitstaande I/O's. Daardoor is het ook een goede tool voor het meten van de prestaties van command queuing. Het kunstmatige karakter heeft echter tot gevolg dat optimalisaties door de cache nauwelijks mogelijk zijn, terwijl de cache in werkelijkheid een grote invloed op de prestaties heeft. Dit is voor ons reden om IOMeter te droppen als tool voor het meten van server performance en ook voor deze benchmarks over te stappen op de combinatie WinTrace32 en RankDisk.
Het probleem dat daarbij ontstaat is dat de aard van de trace bepalend is voor de kwaliteit van de benchmark. Server I/O workloads zijn sterk afhankelijk van het type applicaties en de omstandigheden waarin de server zich bevindt, bepaald door het aantal users, de grootte van de dataset, de spreiding van data enzovoorts. Het is daardoor onmogelijk om server performance met een eenvoudige benchmark samen te vatten. Om toch zo dicht mogelijk in de buurt te komen van de werkelijkheid zullen we de prestaties in een breed scala van scenario's gaan testen. De volgende ideeën liggen op tafel:
- Server performance:
- Database-server: Tweakers.net frontpage en GoT onder MySQL, load generen met Apache en apachebench op clients
- Webserver: statische afbeeldingen serveren onder Apache, load generen met apachebench op clients
- 'Workgroup server': combinatie van file-, mail-, proxy-, web- en database-server op één systeem.
- Documentenserver: zeer grote hoeveelheid PDF's serveren via Apache en Windows filesharing.
- Mediaserver: grote video- en audiostreams serveren
- Backupserver: simultane backups vanaf netwerk naar één machine
- Bootdrive performance: swap en logging
Hoe deze simulaties opgezet kunnen worden is nog een vraag die open staat. Hiervoor ontvangen we graag suggesties van bezoekers. Een voorwaarde is dat de server onder Windows moet draaien. Dit omdat WinTrace32 enkel onder Windows draait. Ook zouden we graag weten welke workloads servers in de praktijk te verduren krijgen: hoeveel gelijktijdige users, grootte van de dataset en de individuele bestanden (fileserver), wel of geen scheiding van data en logfiles op verschillende schijven of partities.