MySQL 5.6 skaliert mit mehreren Threads hervorragend bei der Daten-Replikation
Kommentare

Oracle hat in seinen Blogs gezeigt, dass MySQL 5.6 von seiner Multithreading-Architektur profitiert, wenn man die Zahl der Threads der Zahl der Schemas angleicht. Noch befindet sich MySQL 5.6 in der Entwicklungsphase,

Oracle hat in seinen Blogs gezeigt, dass MySQL 5.6 von seiner Multithreading-Architektur profitiert, wenn man die Zahl der Threads der Zahl der Schemas angleicht. Noch befindet sich MySQL 5.6 in der Entwicklungsphase, doch zeichnet sich ab, dass die Threaded Slaves sich in mehrfach schematisierten Datenbanken bezahlt machen können. Im Replikations-Benchmark hat Oracle dies messbar gemacht.

MySQL 5.6 Threaded Architektur: Benchmark mit 10 Schemas. Quelle: Oracle Blog

Durchgeführt wurde der Benchmark mit einem Oracle Sun Fire X4170 M2 Server, der mit 24 logischen CPUs à 2,93 GHz arbeitet und dem 48 Gigabyte RAM zur Verfügung standen. Als Betriebssystem kam Oracle Enterprise Linux 6.1 (x64) zum Einsatz. Für die Replikation wurden je ein Master- und ein Slave-MySQL-Server erstellt. Der Master wurde mit einer Mega-Tabelle von 100.000 Zeilen gefüttert, die in zehn Schemas à 10.000 Zeilen aufgeteilt wurden.

Zehn Sysbench Clients haben gleichzeitig mit je zehn Threads zufällige Zugriffe auf die Schemas geschickt, um die Datenbank mit 100.000 zufälligen Einträgen zu füttern. Diese wurden daraufhin in mehreren Durchläufen mit unterschiedlich vielen Threads in den Slave repliziert. Über SET GLOBAL slave_parallel_workers=&#60workers&#62 haben die Tester die Zahl der Threads von 1 bis 24 durchgecheckt und dabei kamen sie zu obigen Messergebnissen.

Damit zeigt sich, dass in stark schematisierten, besonders MySQL-Tabellen das Threaded Design vom kommenden MySQL 5.6 einschlägt wie eine Bombe. Dies gilt leider nur für die Replikation und vor allem nur dann, wenn für jedes Schema eine logische CPU zur Verfügung steht.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -