| 典型值 | fsync / O_DIRECT / O_DIRECT_NO_FSYNC(Linux) |
|---|---|
| 默认 | 8.0 Linux 默认 fsync |
| 选择 | 大内存且数据文件读多可试 O_DIRECT,必须压测 |
查看
查看
SHOW VARIABLES LIKE 'innodb_flush_method';
-- 配置文件:innodb_flush_method = O_DIRECT对比验证
对比验证
# 用 fio 观察同样负载下两种模式的 IO 行为差异
fio --name=randread --rw=randread --bs=16k --iodepth=64 --size=4G --filename=/data/testfile --runtime=60 --time_basedO_DIRECT 跳过 OS 缓存,双缓存消失后内存利用率更高;但小文件/日志混合负载下可能更慢,没有万能答案。