?? 一、硬件與系統層優化:夯實性能基石
??硬件選型策略??
??CPU??:讀密集型場景選擇多核CPU(如32核);寫密集型場景選擇高主頻CPU(如3.5GHz+)。
??內存??:建議≥64GB,??緩沖池命中率≥99%?? 是性能關鍵指標。
??存儲??:??必用NVMe SSD??,IOPS≥5萬,避免HDD的I/O瓶頸。RAID10配置兼顧性能與冗余。
??操作系統級優化??
??內核參數調整??(/etc/sysctl.conf):
提升連接與文件處理能力
fs.file-max = 1000000
net.core.somaxconn = 65535
vm.swappiness = 1 # 減少Swap使用
??文件系統??:XFS優于EXT4(處理大文件更高效),掛載選項加 noatime 減少元數據寫入。
??關閉NUMA??:避免跨節點內存訪問延遲,BIOS中關閉或啟動參數加 numa=off。
?? 二、內存配置優化:拒絕無效資源浪費
? ??核心參數配置??
參數 推薦值 作用
innodb_buffer_pool_size 物理內存的70%~80% 緩存數據與索引,減少磁盤I/O
innodb_log_buffer_size 64M~128M 加速Redo日志寫入,寫密集型應用必調
key_buffer_size 128M(僅MyISAM需調) 緩存MyISAM索引
? ??避坑指南??
??緩沖池分區??:高并發場景啟用多緩沖池實例(innodb_buffer_pool_instances = 8),減少鎖競爭。
??OOM預防??:總內存分配 ≤ 物理內存的90%,預留空間給操作系統和連接線程。
?? 三、InnoDB引擎調優:事務與I/O的平衡藝術
??日志與寫入優化??
??事務安全 vs 性能??:
innodb_flush_log_at_trx_commit = 1:主庫必選(ACID保障)
innodb_flush_log_at_trx_commit = 2:從庫或