Evaluating Percona XtraDB Cluster 8.0 Scaling Capabilities

Percona XtraDB Cluster 8.0 is on the final stretch before GA release, and we have pre-release packages available for testing.

I wanted to see how Percona XtraDB Cluster 8.0 performs in CPU and IO-bound scenarios, like in my previous posts about MySQL Group Replication.

In this blog, I want to evaluate Percona XtraDB Cluster 8.0 scaling capabilities in cases when we increase the number of nodes and increase user connections. The version I used is available here: Percona-XtraDB-Cluster-8.0.18.

For this testing, I deploy multi-node bare metal servers, where each node and client are dedicated to an individual server and connected between themselves by a 10Gb network.

multi node bare metal servers

Also, I will use a 3-node and 5-node Percona XtraDB Cluster setup. Hardware specifications:

For the benchmark, I use sysbench-tpcc 1000W prepared database as:

The configs, scripts, and raw results are available on our GitHubThe workload is “in-memory”, that is data (about 100GB) which should fit into innodb_buffer_pool (also 100GB).

Results

Let’s review the results I’ve got. First, let’s take a look at how the performance changes when we increase user threads from 1 to 256 for 3 nodes.

throughput performance

To see the density of the results in more details, let’s draw the chart with the individual scales for each set of threads:

individual scales

Timeline with 1 sec resolution for 64 threads:

Timeline with 1 sec resolution for 64 threads

3 nodes vs. 5 nodes

Now let’s look at the performance under 5 nodes (compared to 3 nodes):

performance under 5 nodes

Actually, there does not seem to be a huge difference.  5 nodes adds extra overhead, but it is minimal.

Percona XtraDB Cluster vs. Group Replication

Now as we have results for both Percona XtraDB Cluster and Group Replication, we can compare how they perform under identical workloads. In this case, we compare the 3 nodes setup:

Percona XtraDB Cluster vs Group Replication

We can see that Percona XtraDB Cluster consistently shows better average throughput, with much less variance, compared to Group Replication.

Conclusion

Percona XtraDB Cluster 8.0 scales well with the increasing amount of threads in workload and also with increasing nodes from 3 to 5. Also, in my opinion, Percona XtraDB Cluster 8.0 outperforms Group Replication setup, showing better average throughput and much less variance of the results.

Appendix

The results and charts are prepared with R notebook, which you can run by yourself in mybinder if you would like to get different slices and dimensions.

Notebook with the static charts

Share this post

Leave a Reply