搬瓦工VPS磁盘IO优化与数据库调优
更多语言
更多操作
在搬瓦工基础款 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.写入开机启动:
- 启动自动生效
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
index.php?title=Category:300 VPS 设置与管理 — VPS Setup and Management


