Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.11.7, 11.4.1
-
Ubuntu 22.04
Description
The full writeup is here. The summary is that while running sysbench with a cached database I see reads from storage during some of the write-heavy microbenchmark steps and that IO is being done for the redo log.
I saw this long ago with web-scale MySQL. The issue is that writing the first 512 bytes to a 4kb filesystem page must read the page into the OS page cache when using buffered IO.
I don't see this with upstream MySQL 5.7.44 or 8.0.36. While 8.0.36 has innodb_log_write_ahead_size, that isn't required to avoid it because I also don't see this with 5.7.44.
I know that MariaDB has changed the InnoDB redo log architecture somewhere between MariaDB 10.4 and 11.4 because it now uses only one large redo log file while MySQL uses many (configurable number) smaller ones. But I have yet to figure out why this shows up in 10.11 and not in 10.6.
I used strace to see how the redo log file was opened and the pwrite64 calls. I didn't see any obvious differences between MariaDB and MySQL other than the change (one large redo log) listed above.
I can avoid this by using a small redo log, but is bad for performance because it increases write back activity.
Attachments
Issue Links
- relates to
-
MDEV-14425 Change the InnoDB redo log format to reduce write amplification
-
- Closed
-
-
MDEV-28766 MDEV-28111 breaks innodb_flush_log_at_trx_commit=2
-
- Closed
-
-
MDEV-30136 Map innodb_flush_method to new settable Booleans innodb_{log,data}_file_{buffering,write_through}
-
- Closed
-
-
MDEV-33367 FATAL ERROR: <time> Was only able to copy log from <seq_no> to <seq_no>, not <seq_no>; try increasing innodb_log_file_size
-
- Closed
-
-
MDEV-34450 os_file_write_func() is an overkill for ib_logfile0
-
- Confirmed
-
-
MDEV-34062 mariadb-backup --backup is extremely slow at copying ib_logfile0
-
- In Review
-
-
MDEV-34750 SET GLOBAL innodb_log_file_size is not crash safe
-
- Closed
-