Benchmarks CentOS: 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 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 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.
Voor de benchmark maken we gebruik van de MySQL-fork MariaDB in de 10.0 versie. Wij draaiden de benchmark met respectievelijk 4, 8, 12, 16, 24, 32, 48, 64, 96 en 128 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.
We zien dat de Xeon E5-2699 v4 machine opnieuw hard doorschaalt tot 32 simultane threads en dan lange tijd een gelijkaardig prestatieniveau biedt. Net als bij de vorige generatie zakken de prestaties bij 128 gelijktijdige operaties weer in. De piek die we meten is 183.845 TpcM, bij de v3 was dat 164.667.
Met een professionale EMU stroommeter hebben we bij concurrency 48 gedurende 10 minuten het gemiddelde stroomverbruik gemeten. Op basis daarvan hebben we opnieuw de prestaties-per-watt berekend. We zien dat de Xeon E5-2699 v4 zoals te verwachten een vergelijkbaar stroomverbruik heeft als zijn voorloper, maar dan dus met een beter prestatieniveau. In de tweede grafiek zien we een mooi voorbeeld van wat een tick kan realiseren: de performance-per-watt van de nieuwe Xeon E5-2699 v4 is gelijk aan die van de extra energiezuinige variant van de v3 generatie!
Ter volledigheid: we gebruikten onderstaande configratie voor MariaDB:
[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=80G 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 innodb_buffer_pool_instances=72 max_connections=3000 query_cache_size=0 skip-name-resolve table_cache=10000
1 besproken product
Vergelijk | Product | Prijs | |
---|---|---|---|
![]() |
Intel Xeon E5-2699 v4 Tray
|
Niet verkrijgbaar |