首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL Linux 運行環境優化詳解:五大核心參數調優實戰

     編輯:MySQL 綜合教學

MySQL Linux 環境優化五大核心參數實戰

針對生產環境 MySQL 在 Linux 上的性能瓶頸,從 I/O 調度、文件描述符、NUMA、Swappiness、文件系統掛載五個維度給出具體配置步驟與驗證方法。

1. I/O 調度演算法調整

預設 CFQ → 改為 deadline(HDD)或 noop(SSD)。

  • 動態:echo deadline > /sys/block/sda/queue/scheduler
  • 永久:/etc/grub.conf kernel 行加 elevator=deadline

2. 文件描述符與進程數擴大

高併發必改,建議 51200+。

  • 動態:ulimit -n 51200
  • 永久:/etc/security/limits.conf 加 * hard nofile 51200、* hard nproc 51200,並啟用 pam_limits.so

3. 禁用 NUMA

避免記憶體分配不均導致 Swap。

  • 內核參數:grub.conf 加 numa=off
  • 或啟動腳本啟用 --numa-interleave(新版 mysqld_safe 內建)

4. Swappiness 設為 1

CentOS 7+ 設 0 易 OOM,推薦 1。

  • /etc/sysctl.conf 加 vm.swappiness = 1
  • sysctl -p 立即生效

5. 文件系統掛載優化

推薦 XFS/ext4,掛載參數:

defaults,noatime,nodiratime,barrier=0 (XFS 用 nobarrier)

修改 /etc/fstab,重啟生效。cat /proc/mounts 驗證。

驗證清單

  • cat /sys/block/sda/queue/scheduler 確認調度器
  • ulimit -a 確認文件描述符
  • numactl --hardware 確認 NUMA 狀態
  • sysctl vm.swappiness 確認 Swappiness
  • cat /proc/mounts 確認掛載參數
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved