[Maria-discuss] Checkpoint Age and Redo Log Flushing in 10.5+
Ever since 10.5, the redo log flushing seems to have become ... suboptimal. It looks like the database does nothing at all to flush the logs until it hits the hwm, and then it goes into overdrive and flushes everything to tablespaces fast, before it goes back to doing nothing until the log fills up. This causes a problem when the redo log is already full and a large burst of writes arrives because it overwhelms the redo log and causes a stall. Is there a bug fix for this or a configuration change available to restore the old behaviour where everything gets flushed continuously and switches up a gear when the hwm is reached? Here are the screenshots comparing 10.5+ sawtooth pattern vs 10.4 and older versions.
Here are the screenshots comparing 10.5+ sawtooth pattern vs 10.4 and older versions.
Is there a bug fix for this or a configuration change available to restore the old behaviour where everything gets flushed continuously and switches up a gear when the hwm is reached?
There are couple of issues (from which some other are related): innodb_max_dirty_pages_pct_lwm=0 lost its special meaning https://jira.mariadb.org/browse/MDEV-24537 Adaptive flushing is still not getting invoked in 10.5.11 https://jira.mariadb.org/browse/MDEV-26055 No background flushing until innodb_adaptive_flushing_lwm is reached https://jira.mariadb.org/browse/MDEV-27942 You can try the: SET GLOBAL innodb_max_dirty_pages_pct_lwm=0.0001; suggestion to see if it works for you but for my workload (write heavy) it didn't help and the performance was still abysmal with stalls so I'm still holding on the 10.4 -> 10.5/10.6 upgrade (https://jira.mariadb.org/browse/MDEV-30501) rr
participants (2)
-
Gordan Bobic
-
Reinis Rozitis