切換選單
切換偏好設定選單
切換個人選單
尚未登入
若您做出任何編輯,會公開您的 IP 位址。

搬瓦工VPS磁盤IO優化與數據庫調優

出自md5.pw
於 2026年4月8日 (三) 08:23 由 留言 | 貢獻 所做的修訂
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)


在搬瓦工基礎款 VPS(1核 1G 內存)上跑 WordPress 或數據庫應用時,經常會遇到後台操作卡頓的問題。主要原因是 Debian 12 默認的磁盤調度策略和數據庫配置比較保守,沒有充分利用 SSD 和有限內存。下面以 1核1G 內存的 Debian 12 VPS 為例,一步一步演示怎麼優化。

    • 重要提醒**:優化前一定要先打快照!如果操作後不滿意,可以隨時回滾。

一、操作前準備

1. 登錄 KiwiVM 面板。

2. 左側菜單找到 Snapshots

3. 點擊中間的 Create new snapshot 按鈕。

打完快照後,看到列表里多了一條新的記錄,狀態是 Completed。這說明快照已經正常拍攝了,如果優化過程中遇到什麼問題,可直接恢復快照。

二、調低 swappiness

Debian 12 默認 swappiness 是 60,系統比較喜歡用硬盤當內存。把它調低到 30,讓系統更願意用物理內存。

1.先備份配置文件:

bash sudo cp /etc/sysctl.conf /etc/sysctl.conf.bak

回車後終端直接回到提示符,沒有報錯就說明備份成功了。

2.臨時修改並驗證:

輸入下面命令並回車:

sudo sysctl -w vm.swappiness=30


會看到終端立刻輸出一行 vm.swappiness = 30,這說明臨時修改已經生效。

3.寫入永久配置:

依次輸入下面命令,每行輸入完後按回車:

sudo sed -i '/vm.swappiness/d' /etc/sysctl.conf

echo "vm.swappiness=30" | sudo tee -a /etc/sysctl.conf sudo sysctl -p

最後一行輸出 vm.swappiness = 30 就代表永久生效成功。如果看到 eth1 報錯,直接忽略,不影響優化。

    • 驗證**:輸入 cat /proc/sys/vm/swappiness,看到 30 就成功了。

三、優化 fstab 掛載參數

Linux 默認每次讀文件都要更新「最後訪問時間」,會產生很多無用寫操作。加上 noatime 和 lazytime 參數,讓系統少寫磁盤。

1.備份:

sudo cp /etc/fstab /etc/fstab.bak

2.編輯文件:

sudo nano /etc/fstab

修改前界面(注意看根目錄那一行):

defaults後面加上 ,noatime,lazytime

3.保存退出:

先按Ctrl+O ,再按 回車 ,最後按 Ctrl+X,然後使修改生效:

sudo mount -o remount /

四、提升磁盤預讀值

1.查看主磁盤:

查看主磁盤(一般是 sda)

lsblk

從上面截圖中看到 sda 是 20G 的主磁盤。

2.設置預讀值:

# 设定预读值(把sda换成上面上查查看的主盘)

sudo blockdev --setra 2048 /dev/sda

3.寫入開機啟動:

  1. 啟動自動生效

echo "blockdev --setra 2048 /dev/sda" | sudo tee -a /etc/rc.local sudo chmod +x /etc/rc.local

五、MariaDB 簡單調優

1.備份配置文件:

sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.bak ls -lh /etc/mysql/

2.編輯核心配置文件:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

修改前界面

3.在 [mysqld] 下加入以下內容:

innodb_buffer_pool_size = 256M

innodb_flush_log_at_trx_commit = 1

修改後界面(注意看 [mysqld] 下方新增的參數):

4.重啟數據庫:

sudo systemctl restart mariadb

    • 內存對照表**(根據實際內存調整):

- 1 GB 內存:推薦 256M -

2 GB 內存:推薦 512M–768M -

4 GB 及以上:推薦 1G 或物理內存的 50%

六、驗證效果 + 完整回滾

1.驗證效果:

sudo iotop -o

看 DISK READ/WRITE 數值是否明顯下降。

2.完整回滾:

優化時出現問題時可執行以下命令恢復默認配置

sudo cp /etc/sysctl.conf.bak /etc/sysctl.conf

sudo sysctl -p sudo cp /etc/fstab.bak /etc/fstab

sudo mount -o remount / sudo rm /etc/rc.local