Teneinde een betere voorstelling van zaken te geven dan mogelijk is met
Intel IOMeter hebben we een aantal nieuwe serverbenchmarks gecreeërd met behulp van de trace/playback methode van Intel IPEAK Storage Performance Toolkit. De toegangspatronen van IOMeter kennen als nadeel het gebrek aan lokaliteit. Terwijl in werkelijkheid gerelateerde gegevens vaak dichtbij elkaar gelokaliseerd zijn, genereert IOMeter toegangspatronen die altijd volledig willekeurig zijn. Een voorbeeld van een hoge mate van lokaliteit is het wegschreven van gegevens naar een logfile. Het einde van een logfile bevindt zich op een vast punt van de schijf dat met de tijd wel wat in positie zal verschuiven maar nooit willekeurig over de schijf verdeeld zal zijn. De schijfactiviteiten die ontstaan als een applicatie regelmatig gegevens wegschrijft naar één of meerdere logfiles kunnen goed door een RAID-controller geoptimaliseerd worden. Dit in tegenstelling tot de willekeurige toegangspatronen van IOMeter.
De serverbenchmarks zijn gebaseerd op een trace van de schijfactiviteiten door een Apache2-webserver en een MySQL 4.0-database server onder Windows XP. De reden voor het gebruik van Windows is het feit dat Intel IPEAK SPT enkel onder Windows werkt. De voorbeeldmachine was voorzien van twee AMD Opteron 242-processors en 2GB-geheugen, zodat optimalisaties door de diskcache van het besturingssysteem een realistische invloed op de schijfactiviteit konden hebben. Met behulp van apachebench kreeg Apache opdracht om in hoog tempo afbeeldingen te serveren uit het afbeeldingenarchief van Tweakers.net, die op de testmachine in vijfvoud was opgeslagen zodat een gegevensbereik van 2,5GB werd gerealiseerd. Naast het inlezen van de afbeeldingen werd Apache belast met het wegschrijven van access, error en user agent logs. Het besturingssysteem werd enige tijd gegund om zijn diskcache tot circa 1,6GB te vullen alvorens het opnemen van de trace werd gestart. Er werden twee varianten van de test gemaakt; een Light-variant met een concurrency van 2 en een Heavy-variant met een concurrency van 20 simultane requests. De verschillen waren in de trace zichtbaar door een gemiddelde queue-lengte van 1,86 I/O's in de Light-test en 3,50 I/O's in de Heavy-test. De verhouding tussen gelezen en weggeschreven hoeveelheid data bedroeg respectievelijk 75/25 en 86/14. De transfer rate bedroeg tijdens het opnemen van de trace gemiddeld 3,3MB/s in de Light-test en 35,1MB/s in de Heavy-test. De processorbelasting bleef in beide gevallen onder het maximum, wat duidelijk maakt dat de bottleneck bij de RAID-array y (Mylex AcceleRAID 600 met vier keer Atlas 15K in RAID 10) lag.
De benchmarks hebben als opvallend resultaat dat de verschillen tussen PCI-snelheden minimaal zijn. Zelfs 32-bit 33MHz PCI onder load presteert vrijwel gelijk aan 64-bit 66MHz PCI op de LSI MegaRAID Elite 1600. De Mylex AcceleRAID 600 presteert in beide tests gelijk op 66MHz en 100MHz PCI-X.
 |
 | Tweakers.net StorageMark 2004 - Webserver Light (IOps) |  |
 |
 | Mylex AcceleRAID 600 |  | PCI-X 100 |  | |  |   435 |  |
 |
 | Mylex AcceleRAID 600 |  | PCI64/66 |  | |  |   435 |  |
 |
 | LSI MegaRAID Elite 1600 |  | PCI64/66 |  | |  |   418 |  |
 |
 | LSI MegaRAID Elite 1600 |  | PCI32/33 |  | |  |   413 |  |
 |
 | LSI MegaRAID Elite 1600 |  | PCI32/33 |  | Load |  |   407 |  |
 |
 |
 | Tweakers.net StorageMark 2004 - Webserver Heavy (IOps) |  |
 |
 | LSI MegaRAID Elite 1600 |  | PCI64/66 |  | |  |   568 |  |
 |
 | LSI MegaRAID Elite 1600 |  | PCI32/33 |  | |  |   562 |  |
 |
 | LSI MegaRAID Elite 1600 |  | PCI32/33 |  | Load |  |   556 |  |
 |
 | Mylex AcceleRAID 600 |  | PCI-X 100 |  | |  | ![]()  510 |  |
 |
 | Mylex AcceleRAID 600 |  | PCI64/66 |  | |  |   510 |  |
 |
De database-benchmark werd gemaakt aan de hand van een lokale kopie van de Tweakers.net-database. Via apachebench werd een PHP-script aangeroepen dat vervolgens via fopen() willekeurige frontpage-, nieuws-, pricewatch- en meuktrackerpagina's ging aanroepen. De daaruitvloeiende MySQL-queries zorgden voor een realistische belasting van de database-server. Tijdens het opnemen van de trace werd alle logging door Apache stopgezet zodat alleen MySQL en de Windows pagefile actief waren op de harde schijf. Er werd wederom een lichte en een zware variant van de benchmark gemaakt. In het eerste geval bedroeg het concurrency level in apachebench 10 en in het tweede geval werden 50 simultane requests uitgevoerd. Daarbij steeg het aantal queries op de database-server naar ongeveer 500 per seconde (exclusief de queries die door de querycache van MySQL 4.0 werden afgevangen), wat vergelijkbaar is met Tweakers.net onder topdrukte.
De Mylex AcceleRAID 600 en de LSI MegaRAID Elite 1600 blijken in de beide tests precies omgekeerd te presteren. De MegaRAID is sneller onder lichte belasting en AcceleRAID presteert beter onder de hogere belasting. De verschillen tussen 64-bit 66MHz PCI en 32-bit 33MHz PCI zijn veel groter dan in de webserverbenchmarks. De MegaRAID presteert 12 tot 16 procent beter op de snellere bus. Als daar ook extra load op de legacy PCI-bus bij komt, stijgt het verschil naar 22 tot 30 procent. De AcceleRAID 600 presteert gelijk op 66MHz en 100MHz PCI-X in de lichte dbserver-benchmark en is bijna twee procent sneller op 100MHz in de zware benchmark.
 |
 | Tweakers.net StorageMark 2004 - Database-server Light (IOps) |  |
 |
 | LSI MegaRAID Elite 1600 |  | PCI64/66 |  | |  |   1316 |  |
 |
 | LSI MegaRAID Elite 1600 |  | PCI32/33 |  | |  |   1176 |  |
 |
 | LSI MegaRAID Elite 1600 |  | PCI32/33 |  | Load |  |   1075 |  |
 |
 | Mylex AcceleRAID 600 |  | PCI-X 100 |  | |  |   990 |  |
 |
 | Mylex AcceleRAID 600 |  | PCI64/66 |  | |  |   990 |  |
 |
 |
 | Tweakers.net StorageMark 2004 - Database-server Heavy (IOps) |  |
 |
 | Mylex AcceleRAID 600 |  | PCI-X 100 |  | |  |   1724 |  |
 |
 | Mylex AcceleRAID 600 |  | PCI64/66 |  | |  |   1695 |  |
 |
 | LSI MegaRAID Elite 1600 |  | PCI64/66 |  | |  |   1639 |  |
 |
 | LSI MegaRAID Elite 1600 |  | PCI32/33 |  | |  |   1408 |  |
 |
 | LSI MegaRAID Elite 1600 |  | PCI32/33 |  | Load |  |   1250 |  |
 |
Het is aannemelijk dat er grotere verschillen tussen legacy PCI en 64-bit 66MHz PCI zouden zijn ontstaan wanneer de benchmarks waren uitgevoerd op een RAID 0 array van vier Atlas 15K's. Omdat geen enkele nuchtiger systeembeheerder zijn gevoelige gegevens toevertrouwd aan een RAID 0 hebben we de benchmarks uitgevoerd op een RAID 5-array van vier schijven.