Linux: HWI MySQL Benchmark v3
Traditiegetrouw hebben we ook de prestaties van het nieuwe platform gemeten wanneer het wordt ingezet als databaseserver. Speciaal voor deze test hebben we een nieuwe versie van onze MySQL-benchmark ontwikkeld. Versie 3 is gebaseerd op de database van onze zustersite StreepjescodeScanner.nl en bestaat uit het uitvoeren van queries om de prijsoverzichten bij bepaalde tekstuele zoekopdracht te bepalen. Op de site zijn deze queries ondermeer dankzij full-text search en query caching geoptimaliseerd. Voor deze benchmark zijn dergelijke optimalisaties uitgeschakeld, zodat we de ruwe SQL-prestaties kunnen meten. Bij iedere query bepalen we voor een willekeurige zoekopdracht - afkomstig uit de zoek logs van StreepjescodeScanner.nl - alle winkels die producten met vergelijkbare naam voeren; daarnaast berekenen we direct de juiste totaalprijs inclusief verzendkosten, de gemiddelde prijs, de laagste prijs en wordt vanuit een handvol andere tabellen alle informatie over de betreffende shops opgehaald. De prijstabel waarin gezocht wordt, bevat ruim 5 miljoen rijen. De workload bestaat op die manier uit het zoeken van data, het joinen van tabellen en het uitvoeren van berekeningen.
De MySQL test is uitgevoerd onder CentOS 5.4 met MySQL 5.1.44. Als storage engine maken we gebruik van InnoDB, waarbij we de buffer pool dusdanig groot hebben ingesteld dat de hele database inclusief alle indexen in het geheugen van de server past. Op die manier zorgen we ervoor dat de prestaties van de benchmark niet afhankelijk zijn van de snelheid van de gebruikte storage, iets wat we met behulp van Iostat hebben bevestigd. Voor het uitvoeren van de benchmark hebben we gebruik gemaakt van de mysqlslap utility, die bij MySQL wordt meegeleverd. We hebben de benchmark met vier verschillende concurrencies gedraaid: altijd 8 queries tegelijk, altijd 16 queries tegelijk, altijd 24 queries tegelijk en altijd 32 queries tegelijk. Vanzelfsprekend hebben we de database ruim een kwartier laten 'warmdraaien' alvorens de benchmark te draaien. Het resultaat is het aantal transacties dat de server per minuut kan verwerken.
Onderstaande grafiek toont de resultaten voor de Intel Westmere, Nehalem, Harpertown en Woodcrest processors. Helaas zijn de AMD servers niet meer in ons lab aanwezig, zodat we de nieuwe MySQL benchmark nog niet op AMD platforms kunnen uitvoeren.
De resultaten laten een perfecte schaling voor de nieuwe Westmere processors zien. Met 6 cores per CPU, HyperThreading en twee sockets heeft een Westmere server 24 virtuele processors. We zien dan ook dat de prestaties met de X5670 en X5680 processors blijven stijgen tot en met concurrency 24, waar de twee X5670 CPU's 700,7 transacties per minuut afleveren, en de twee X5680 CPU's 747,2 transacties per minuut. De X5570 Nehalem processors stabiliseren zoals te verwachten vanaf concurrency 16; twee keer quad-core met HyperThreading is immers 16 virtuele processors. De maximale score van de X5570's is 518,7 transacties per minuut. Als we Westmere en Nehalem op dezelfde klokfrequentie vergelijken (X5670 vs. X5570) dan blijken de Westmere chips op een drukke database server ruim 35% meer queries per tijdseenheid te kunnen leveren dan de Nehalem chips. De snelste Westmeres verwerken zelfs 44% meer queries.
Interessant in de grafiek is het grote verschil met oudere architecturen. De X5470's Harpertowns hebben met twee quad-cores zonder HyperThreading 'slechts' 8 cores in totaal en zodoende stijgen de prestaties niet meer boven concurrency 8. De hoogste score is 186,5 transacties per minuut, circa een kwart van wat Westmere weet te presteren. Bij onze Nehalem review vorig jaar concludeerden we het al: vooral de geïntegreerde geheugencontroller blijkt een zegen voor database servers.
Met de vier jaar oude dual-core Woodcrest chips komen we niet verder dan 114,7 transacties per seconde. Ergo; één state-of-the-art op X5680 CPU's gebaseerde server kan in theorie de database workload van een cluster van 6 servers van vier jaar oud overnemen. Een mooi gegeven voor wie z'n serverpark wil gaan consolideren.
2 besproken producten
Vergelijk | Product | Prijs | |
---|---|---|---|
![]() |
Intel Xeon X5670
|
Niet verkrijgbaar | |
![]() |
Intel Xeon X5680
|
Niet verkrijgbaar |