Saturday, January 27, 2018

Next week in Brussels: Parallel Replication at the MySQL Pre-FOSDEM Day

FOSDEM is next weekend and I am talking about Parallel Replication on Friday, February 2nd at the MySQL Pre-FOSDEM Day (there might be tickets left in case of cancellation, attendance is free of charge).  During this talk, I will show benchmark results of MySQL 8.0 parallel replication on Booking.com real production environments.  I thought I could share a few things before the talk so here it is.

Below and on the left, you can see the commit rate of single-threaded replication.  On the right, it is the improved throughput with Multi-Threaded Slave (also known as MTS or Parallel Replication).  It is obviously much better !


This increased throughput is obtained with enabling Write Set Parallelism Identification on a MySQL 8.0.3 intermediate master.  I have previously blogged about Write Set so you can read more about it in my previous posts:
The commit rate above increases when the slave crosses the point where Write Set Parallelism Identification is enabled on its master.  So it is not exactly as I wrote above: parallel replication is enabled for the whole graph but no parallelism is identified by the master on the left (Write Set is disabled) and parallelism is identified on the right (Write Set is enabled).  We can see the impact of this in the graph below where I show the Average Modified Interval Size/Length metric before and after enabling Write Set (the parallelism intervals are of size one on the left and much larger on the right).  To know more about this metric, you can read my previous post.


Finally, below is the CPU graph matching the commit rate graph above.  As you can see, the increased throughput comes at the cost of using more CPU, which is expected.


In addition to the Pre-FOSDEM MySQL Day, I am also attending the MySQL Community Dinner on Friday, February 2nd (one of the sponsors is Booking.com).  I do not know yet where I will be on Saturday (I might attend Peter Zaitsev talk about Methodologies for Databases Performance Analysis and Troubleshooting) but on Sunday and most of the day, I will be in the MySQL and Friend devroom.

No comments:

Post a Comment