Benchmarks CentOS 6.2: Percona TPC-C MySQL benchmark
Een van de meest gebruikte toepassingen voor dual-socket servers met veel geheugen is natuurlijk het draaien van databases. Om de prestaties op dit vlak in kaart te brengen, maakten we gebruik van de TPC-C MySQL benchmark van Percona. Het bedrijf Percona heeft een eigen versie van de populaire MySQL benchmark, die beter is geoptimaliseerd voor multi-processor systemen. De databaseserver van Hardware.Info maakt ook gebruik van Percona software. De Percona TPC-C software lijkt qua opzet erg op de officiële TPC-C benchmark die door serverbouwers wordt gebruikt. De officiële benchmark werkt echter met een immens grote dataset, zodat het behalen van een topscore daarmee alleen mogelijk is met peperdure storage systemen. Wij draaiden de Percona variant met 100 Warehouses, wat resulteert in een database van tussen de 10 en 15 gigabyte. Die database past in het geheugen van een server en zodoende speelt de storage oplossing vrijwel geen rol. Sowieso zorgen MySQL database-admins er in de praktijk indien mogelijk ook voor dat hun data binnen het geheugen van de server blijft passen om zo de hoogste prestaties te behouden.
TPC-C is een zogenaamde OLTP, ofwel On-line Transaction Processing benchmark. TPC-C simuleert een complexe handelsomgeving, inclusief het inboeken en verwerken van orders, het verwerken van betalingen, het controleren van de status van orders en het bijhouden van voorraden in magazijnen.
We maakten gebruik van de Percona 5.5.20 databaseserver, gebaseerd op MySQL 5.5.20. Wij draaiden de benchmark met respectievelijk 4, 8, 12, 16, 24, 32, 48, 64 en 96 gelijktijdige connecties. Telkens draaiden we de benchmarks voor 10 minuten en iedere instelling hebben we drie maal gedraaid en daarna een gemiddelde genomen. De benchmark meet hoeveel transacties gemiddeld per seconde verwerkt kunnen worden.
Het vorige generatie Xeon-platform stopt met schalen bij 16 gelijktijdige transacties en behaalt nipt de beste score bij concurrency 48: 87.453 transacties per minuut. De server met twee Xeon E5 2690 processors blijft schalen tot concurrency 48 en komt daar uit op 119.187 transacties per minuut: 36% betere prestaties dus. Vanaf concurrency 64 zakken de prestaties wel weer een beetje in. De zuinigere opstelling met twee Xeon E5 2660 processors en de Samsung LRDIMMS valt er tussenin en piekt op 96.418 transacties per minuut.
Met een professionale EMU stroommeter hebben we bij concurrency 48, waar alle drie de platforms de beste prestaties halen, gedurende 10 minuten het gemiddelde stroomverbruik gemeten. De server met twee Xeon E5 2690 processors verbruikt gemiddeld net wat minder stroom dan onze testserver met twee vorige generatie Xeon X5680 CPU's. Zeker wanneer je bedenkt dat in de nieuwe server veel meer DIMM's zitten (16 in plaats van 6) is dat indrukwekkend. De Xeon E5 2660 opstelling met LRDIMM's is een kleine 20 watt zuiniger.
Berekenen we de performance-per-watt, dan komen we voor het oude platform op 353 TpcM/W en voor het nieuwe op 487 tpCM/W: een verbetering van 38%.
Ter volledigheid: we gebruikten onderstaande configratie voor Percona 5.5:
[client] socket=/var/lib/mysql/mysql.sock [mysqld] socket=/var/lib/mysql/mysql.sock skip-grant-tables server_id=1 local_infile=1 datadir=/var/lib/mysql/ innodb_buffer_pool_size=24G innodb_data_file_path=ibdata1:10M:autoextend innodb_file_per_table=1 innodb_flush_log_at_trx_commit=2 innodb_log_buffer_size=8M innodb_log_files_in_group=2 innodb_log_file_size=2000M innodb_thread_concurrency=0 innodb_flush_method=O_DIRECT innodb_write_io_threads=8 innodb_read_io_threads=8 innodb_io_capacity=500 max_connections=3000 query_cache_size=0 skip-name-resolve table_cache=10000
2 besproken producten
Vergelijk | Product | Prijs | |
---|---|---|---|
![]() |
Intel Xeon E5 2660
|
Niet verkrijgbaar | |
![]() |
Intel Xeon E5 2690
|
Niet verkrijgbaar |