打开/关闭搜索
搜索
打开/关闭菜单
62
854
81
2615
md5.pw
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
上传文件
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
登录
请求账号
查看“︁搬瓦工VPS磁盘IO优化与数据库调优”︁的源代码
来自md5.pw
分享此页面
更多语言
查看
阅读
查看源代码
查看历史
associated-pages
页面
讨论
更多操作
←
搬瓦工VPS磁盘IO优化与数据库调优
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
在搬瓦工基础款 VPS(1核 1G 内存)上跑 WordPress 或数据库应用时,经常会遇到后台操作卡顿的问题。主要原因是 Debian 12 默认的磁盘调度策略和数据库配置比较保守,没有充分利用 SSD 和有限内存。下面以 1核1G 内存的 Debian 12 VPS 为例,一步一步演示怎么优化。 ** 重要提醒**:优化前一定要先打快照!如果操作后不满意,可以随时回滚。 == 一、操作前准备 == 1. 登录 KiwiVM 面板。 2. 左侧菜单找到 '''Snapshots''' 3. 点击中间的 '''Create new snapshot''' 按钮。 [[File:Io-1.png|center]] 打完快照后,看到列表里多了一条新的记录,状态是 Completed。这说明快照已经正常拍摄了,如果优化过程中遇到什么问题,可直接恢复快照。 == 二、调低 swappiness == Debian 12 默认 swappiness 是 60,系统比较喜欢用硬盘当内存。把它调低到 30,让系统更愿意用物理内存。 === 1.先备份配置文件: === <code>bash sudo cp /etc/sysctl.conf /etc/sysctl.conf.bak</code> [[File:Io-2.png|center]] 回车后终端直接回到提示符,没有报错就说明备份成功了。 === 2.临时修改并验证: === 输入下面命令并回车: <code>sudo sysctl -w vm.swappiness=30</code> [[File:Io-3.png|center]] 会看到终端立刻输出一行 vm.swappiness = 30,这说明临时修改已经生效。 === 3.写入永久配置: === 依次输入下面命令,每行输入完后按回车: <code>sudo sed -i '/vm.swappiness/d' /etc/sysctl.conf</code> <code>echo "vm.swappiness=30" | sudo tee -a /etc/sysctl.conf sudo sysctl -p</code> [[File:Io-4.png|center]] 最后一行输出 vm.swappiness = 30 就代表永久生效成功。如果看到 eth1 报错,直接忽略,不影响优化。 ** 验证**:输入 cat /proc/sys/vm/swappiness,看到 30 就成功了。 == 三、优化 fstab 挂载参数 == Linux 默认每次读文件都要更新“最后访问时间”,会产生很多无用写操作。加上 noatime 和 lazytime 参数,让系统少写磁盘。 === 1.备份: === <code>sudo cp /etc/fstab /etc/fstab.bak</code> [[File:Io-5.png|center]] === 2.编辑文件: === <code>sudo nano /etc/fstab</code> 修改前界面(注意看根目录那一行): [[File:Io-6.png|center]] 在<code>defaults</code>后面加上 <code>,noatime,lazytime</code> [[File:Io-7.png|center]] === 3.保存退出: === 先按Ctrl+O ,再按 回车 ,最后按 Ctrl+X,然后使修改生效: <code>sudo mount -o remount /</code> == 四、提升磁盘预读值 == === 1.查看主磁盘: === 查看主磁盘(一般是 sda) <code>lsblk</code> [[File:Io-9.png|center]] 从上面截图中看到 sda 是 20G 的主磁盘。 === 2.设置预读值: === <code># 设定预读值(把sda换成上面上查查看的主盘)</code> <code>sudo blockdev --setra 2048 /dev/sda</code> [[File:Io-9.png|center|thumb|1073x1073px]] === 3.写入开机启动: === # 启动自动生效 <code>echo "blockdev --setra 2048 /dev/sda" | sudo tee -a /etc/rc.local sudo chmod +x /etc/rc.local</code> [[File:Io-10.png]] [[File:Io-11.png]] [[File:Io-12.png|center]] == 五、MariaDB 简单调优 == === 1.备份配置文件: === <code>sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.bak ls -lh /etc/mysql/</code> [[File:Io-13.png|center|thumb|1054x1054px]] === 2.编辑核心配置文件: === <code>sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf</code> [[File:Io-14.png]] 修改前界面 [[File:Io-15.png|center]] === 3.在 [mysqld] 下加入以下内容: === <code>innodb_buffer_pool_size = 256M</code> <code>innodb_flush_log_at_trx_commit = 1</code> 修改后界面(注意看 [mysqld] 下方新增的参数): [[File:Io-16.png|center]] === 4.重启数据库: === <code>sudo systemctl restart mariadb</code> ** 内存对照表**(根据实际内存调整): - 1 GB 内存:推荐 256M - 2 GB 内存:推荐 512M–768M - 4 GB 及以上:推荐 1G 或物理内存的 50% == 六、验证效果 + 完整回滚 == === 1.验证效果: === <code>sudo iotop -o</code> 看 DISK READ/WRITE 数值是否明显下降。 === 2.完整回滚: === 优化时出现问题时可执行以下命令恢复默认配置 <code>sudo cp /etc/sysctl.conf.bak /etc/sysctl.conf</code> <code>sudo sysctl -p sudo cp /etc/fstab.bak /etc/fstab</code> <code>sudo mount -o remount / sudo rm /etc/rc.local</code> [[index.php?title=Category:300 VPS 设置与管理 — VPS Setup and Management]]
返回
搬瓦工VPS磁盘IO优化与数据库调优
。
查看“︁搬瓦工VPS磁盘IO优化与数据库调优”︁的源代码
来自md5.pw