Details
-
New Feature
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
Description
For workloads with mixed transaction sizes (small/large), a bottleneck
is often group-commit, where future small transactions must wait for a
previous large transaction to commit, before they can commit. Speeding
up the execution of a large transaction can significantly help the
overall throughput of a slave for such workloads.
One idea is to add a new type of thread to the parallel replication
framework to pre-fetch pages into the InnoDB Buffer Pool before a worker
thread begins execution of an Update/Delete Rows Log Event. These
prefetch threads would read ahead of where the slave worker thread is
at, store the keys of the updated/deleted data, and find those rows.
Then when the worker thread is ready to execute at that point, the data
wouldn't need to be loaded from disk, it would be ready in the buffer
pool.