用途:面向 MariaDB 实例的性能调优与慢查询诊断,尤其是新上线生产实例的 my.cnf 配置、耐久性与吞吐权衡、线程模型选择,以及在把 MySQL 8 配置迁移到 MariaDB 前做核对。
主要能力:给出 innodb_buffer_pool_size(专用库主机取内存 60-80%)、innodb_flush_log_at_trx_commit 与 sync_binlog 的耐久性取舍、innodb_io_capacity 按 HDD/SSD/NVMe 分档、innodb_log_file_size 与崩溃恢复时间的平衡、thread_handling=pool-of-threads 的适用条件,并强调每连接缓冲会乘 max_connections。
必要用法:先判断主机是否专用、存储类型、可容忍的数据丢失与连接模型,再写入配置。示例:专用 64GB 主机可设 innodb_buffer_pool_size=48G。调优后用 SHOW STATUS LIKE 'Innodb_buffer_pool_read%' 检查命中率,目标 reads/read_requests<1%;并查看 SHOW ENGINE INNODB STATUS\G。批量导入时可临时设 innodb_flush_log_at_trx_commit=0,完成后恢复。
限制:资料提示版本差异——innodb_buffer_pool_instances 在 10.6.0 移除,不得写入 10.6+ 配置;innodb_buffer_pool_chunk_size 自 10.11.12、11.4.6、11.8.2 起弃用;innodb_flush_method 自 11.0 起弃用。禁止把 MySQL 8 配置原样复制到 MariaDB;禁止在写密集负载开启查询缓存;不得为提速削弱耐久性前先定位真正瓶颈;thread_pool_size 不宜设到上千。更多变量与示例见其 references 文档。