Databases 9 min read

Percona XtraBackup 8.0.33-28 Accelerates Backup Preparation by Up to 20×

This article explains how Percona XtraBackup 8.0.33-28 introduces a new design that reduces the time required for the backup‑prepare phase, lowers memory and I/O usage, and speeds up SST when adding new nodes to a Percona XtraDB Cluster, with detailed performance benchmarks and code examples.

Aikesheng Open Source Community
Aikesheng Open Source Community
Aikesheng Open Source Community
Percona XtraBackup 8.0.33-28 Accelerates Backup Preparation by Up to 20×

Overview

Percona XtraBackup 8.0.33-28 brings significant improvements to the backup‑prepare stage, dramatically shortening the time needed for SST (State Snapshot Transfer) when a new node joins a Percona XtraDB Cluster (PXC).

Prepare Phase

During the xtrabackup -prepare operation, XtraBackup copies InnoDB data files and performs crash recovery to produce a consistent database. The prepare phase consists of two sub‑stages:

Redo Log application

Undo Log application

Redo Log Application

Redo logs are applied to pages without any notion of rows or transactions; this stage does not make the database transactionally consistent.

Undo Log Application

Undo logs roll back uncommitted transactions by reading changes from undo pages and re‑applying the old values, ensuring that all uncommitted work is discarded.

Old Design (pre‑8.0.33‑28)

The previous implementation loaded every table’s SDI (Serialized Dictionary Information) from each IBD file into a non‑evictable cache, causing unnecessary memory consumption, I/O, and long prepare times, especially with millions of tables.

Problems included loading tables that did not need rollback, extra I/O for SDI pages, OOM risk, and crashes when the backup directory contained many tables.

New Design (8.0.33‑28 and later)

The new approach builds a table_id → space_id mapping by scanning mysql.indexes and mysql.index_partitions B‑tree pages. Only tables that have pending undo operations are loaded, and they are cached as evictable entries.

When the cache reaches its size limit or a background thread triggers eviction, tables are removed, reducing memory pressure.

Benefits

Lower memory usage

Reduced I/O

Faster prepare phase

Successful completion even with a large number of tables

Quicker SST and node join times

New nodes require less memory to join the cluster

Benchmark Results

Performance tests on backup directories containing 10K, 50K, 100K, and 250K tables show substantial speedups for xtrabackup -prepare with the new design, as illustrated in the accompanying charts.

Conclusion

From version 8.0.33-28 onward, Percona XtraBackup’s prepare operation is faster and more efficient, especially as the number of tables grows, and it considerably reduces the time required for new nodes to complete SST and join a PXC cluster.

Original article: Percona Blog

PerformanceInnoDBmysqlBackupSSTPercona XtraBackup
Aikesheng Open Source Community
Written by

Aikesheng Open Source Community

The Aikesheng Open Source Community provides stable, enterprise‑grade MySQL open‑source tools and services, releases a premium open‑source component each year (1024), and continuously operates and maintains them.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.