megacli 命令配置。use_workqueue=0(繞過 Linux 調度)、disable-msi=0、use_large_pcie_rx_buffer=1。deadline(穩定延遲)。noop 或 none(無需合併請求)。echo 16 > /sys/block/sdb/queue/read_ahead_kb # 減少預讀
echo 512 > /sys/block/sdb/queue/nr_requests # 增大請求佇列
單實例部署建議關閉 NUMA:BIOS 關閉、內核參數 numa=off、或 numactl --interleave=all 啟動 mysqld。
mkfs.xfs -d su=64k,sw=10 /dev/sdb # RAID10 10塊盤,stripe=64K
mount -o defaults,rw,noatime,nodiratime,noikeep,nobarrier,allocsize=8M,attr2,largeio,inode64,swalloc /dev/sdb /data
flashcache_create -b 4k cachedev /dev/ssd /dev/hdd
# 參數
flashcache.fast_remove=1
flashcache.reclaim_policy=1 # LRU
flashcache.dirty_thresh_pct=90
flashcache.cache_all=1
flashcache.write_merge=1
innodb_page_size=4k/8k/16k # Fusion-io 用 4k,SAS 用 8k,全掃描多用 16k
innodb_adaptive_checkpoint=2/3 # SAS 用 2,Fusion-io 用 3(0.1s 刷新)
innodb_io_capacity=10000+ # 根據實測 IOPS 設定
innodb_flush_neighbor_pages=0 # SSD 關閉鄰頁刷新
innodb_flush_method=ALL_O_DIRECT # 數據與日誌均 Direct I/O
innodb_read_io_threads=1
innodb_write_io_threads=16
innodb_fast_checksum=1
fio-status 關注 Media status、Reserves、Lifetime write amplification。dmsetup status cachedev 關注 read hit%、write hit%、dirty write hit%。