InnoDB Write Log 效率超过100%(1953.15%)是不是太高了?

InnoDB Write Log efficiency is too high more than 100% (1953.15%)?

我的服务器上有 16/32 CPU 核的 MariaDB,当 运行 mysqltuner 时一切似乎都正常,除了 InnoDB 写入日志效率 ,服用 1953.15%,想知道这是否正常?或者有什么解决办法吗?感谢建议!

-------- InnoDB Metrics --------
[--] InnoDB is enabled.
[--] InnoDB Thread Concurrency: 0
[OK] InnoDB File per table is activated
[OK] InnoDB buffer pool / data size: 16.0G/7.0G
[OK] Ratio InnoDB log file size / InnoDB Buffer pool size: 4.0G * 1/16.0G should be equal to 25%
[--] Number of InnoDB Buffer Pool Chunk : 128 for 1 Buffer Pool Instance(s)
[OK] Innodb_buffer_pool_size aligned with Innodb_buffer_pool_chunk_size & Innodb_buffer_pool_instances
[OK] InnoDB Read buffer efficiency: 99.89% (235648939 hits/ 235906897 total)
[!!] InnoDB Write Log efficiency: 1953.15% (24219 hits/ 1240 total)
[OK] InnoDB log waits: 0.00% (0 waits / 1447 writes)

顺便说一句,mariadb/mysql 的 cpu 使用率也超过 100%...

使用 MariaDB 时忽略 MySQLTuner 中的这个结果。根据本期的讨论,由于 MariaDB 中的错误,计算具有误导性:https://github.com/major/MySQLTuner-perl/issues/385

另请参阅与您类似的问题:https://dba.stackexchange.com/questions/194832/innodb-write-log-efficiency-above-100

不清楚为什么“写日志效率”是一个需要注意的事情,即使它被正确计算了。它缺乏重要的背景。预期结果是什么?什么是坏结果?太高或太低应该怎么改?

甚至还有一个问题问这些问题:https://github.com/major/MySQLTuner-perl/issues/291

开发者的回复表明他不明白InnoDB redo log是什么。他似乎认为日志写入是缓冲池写入,事实并非如此。

我不使用 MySQLTuner,因为它的建议经常是无用的。

不得不说这很有趣我从没想过表面上最佳的日志写入效率会被视为“问题”-> [!!]

我的是:

[!!] InnoDB Write Log efficiency: 2778.86% (667427 hits/ 24018 total)