MySQL

InnoDB Checkpoint Stall

critical
performanceUpdated Mar 2, 2026

InnoDB checkpointing cannot keep pace with write workload, causing log files to fill and write stalls. Occurs when innodb_io_capacity is too low, storage IOPS insufficient, or during sustained high write load. Manifests as periodic write latency spikes.

Technologies:
How to detect:

mysql.innodb.checkpoint_age approaching mysql.innodb.log_file_size * innodb_log_files_in_group * 0.9, with mysql.innodb.log_waits > 0 and mysql.innodb.buffer_pool_wait_free > 0

Recommended action:

Check mysql.innodb.lsn_current, mysql.innodb.lsn_flushed, and mysql.innodb.lsn_last_checkpoint to assess checkpoint lag. Review innodb_io_capacity and innodb_io_capacity_max configuration - should match storage IOPS capability. Monitor mysql.innodb.os_log_fsyncs rate and mysql.innodb.os_log_written throughput. If log waits occur, consider: 1) Increase innodb_log_file_size to provide more log space (requires restart), 2) Increase innodb_io_capacity to allow faster flushing, 3) Upgrade storage for higher IOPS. Use SHOW ENGINE INNODB STATUS to view LSN progress and pending I/O.