I'm stress testing an application that uses MySQL. The bottleneck is the MySQL disks (separate for main data and redo log), which are written to quite much. atop
indicates their usage is near 100%. If I disable the redo logs (ALTER INSTANCE DISABLE INNODB REDO_LOG
), then the disk usage becomes negligible (2% for the main disk and zero—naturally—for the redo log disk).
I need to reduce disk usage (it doesn't need to be negligible, but it has to be considerably less) without disabling the redo logs. It's OK to lose several seconds (even minutes) of data in case of a crash. I've tried this:
innodb_flush_method = O_DSYNC
innodb_flush_log_at_trx_commit = 0
innodb_flush_log_at_timeout = 5
but I don't see any difference.
Is there anything else I can do?
(Note: the application is Nextcloud and apparently it makes many database write requests.)