网站变慢排查:从VPS端入手

网站突然变慢,别急着升级配置。小够给你一套从 VPS 端入手的排查流程:CPU、内存、磁盘、带宽、数据库,逐层定位慢在哪。

我是小够,只推够用的 VPS。

网站变慢,第一反应是"配置不够,要升级"——打住。80% 的变慢跟配置没关系,升级只是花钱买心安。今天给你一套从 VPS 端入手的排查流程,按顺序走,慢在哪一目了然。

第一步:看机器是不是被跑满了

先 SSH 上去,看三个指标:

top        # 看 CPU 和内存
df -h      # 看磁盘
free -h    # 看内存明细

CPU 长期 100%:看是哪个进程在吃。用 top 按 P 排序,是你的网站进程在吃,还是被挖矿了?被挖矿的话,CPU 会被一个陌生进程占满,先杀进程、改密码、换密钥(见《SSH 密钥登录》),再查是怎么进来的。

内存耗尽:free -h 看 available 那一列,如果长期接近 0,系统会用 Swap,速度断崖式下跌。1G 内存的机器跑 MySQL + PHP + 面板,本来就捉襟见肘,这种情况加内存是正解。

磁盘满了:df -h 看 / 分区用到 90% 以上,网站会各种诡异报错。常见元凶:日志没轮转、备份堆在机器上。用 du -sh /* 一层层找大户,该删删、该迁迁。

第二步:看网络是不是堵了

机器没跑满,但网站还是慢,查网络:

1. 先分清是"慢"还是"卡"

打开慢(首屏 3 秒以上)可能是后端慢;加载到一半卡住、图片刷不出来,可能是带宽或丢包。用浏览器开发者工具(F12 → Network)看每个请求的耗时,TTFB(首字节时间)高是后端问题,内容下载慢是带宽问题。

2. 测 VPS 的带宽和丢包

mtr -rw 你的域名

看最后一跳的丢包率(Loss%)。晚高峰丢包严重,就是线路拥堵,换优化线路或上 CDN。白天正常、晚上卡,十有八九是线路问题,不是你的错,参考《晚高峰实测方法论》确认。

3. 查流量是不是跑超了

有些商家流量用超了会限速。去面板看本月流量统计,接近上限了就该升级流量包或换套餐了。

第三步:看应用层是不是拖后腿

机器、网络都没问题,慢在应用本身:

数据库慢查询:WordPress 站变慢,一半是数据库的锅。装个 Query Monitor 插件(WordPress)或开慢查询日志,看哪条 SQL 在拖时间。加索引、清冗余数据,效果立竿见影。

PHP-FPM 进程数不够:并发一上来就排队,表现为"偶尔卡一下"。调大 pm.max_children,但别超过内存能承受的数——每个 PHP 进程几十 MB,1G 内存开 50 个进程,内存先爆。

没开缓存:动态页面每次都重新生成,不慢才怪。页面缓存(WP Super Cache 这类插件)+ OPcache 开启,效果是最明显的。Nginx 层的缓存配置见《Nginx 反代入门》。

CDN 没接:访客离机房远,静态资源加载慢。接个免费 CDN(见《Cloudflare 免费版够用吗》),图片、CSS、JS 走 CDN,源站压力骤减。

第四步:看是不是被攻击了

前面都正常,但网站时快时慢,看访问日志:

tail -100 /var/log/nginx/access.log

同一个 IP 短时间内几百上千次请求,就是被刷了。轻量处理:Nginx 限流、封 IP;严重的:上 CDN 的 WAF、用 Fail2ban 自动封。被打到带宽跑满,联系商家看能不能临时清洗或换 IP。

排查清单:收藏这张表

症状先查大概率原因
一直慢top、freeCPU/内存跑满
偶尔卡PHP 进程数、慢查询并发排队、数据库
晚上慢、白天快mtr 晚高峰线路拥堵
图片刷不出带宽、CDN带宽不足、没接 CDN
时快时慢访问日志被刷、被攻击

预防比排查重要:三个日常习惯

与其每次慢了再查,不如养成三个习惯,把问题掐死在摇篮里:

1. 装个监控:Netdata、哪吒探针这类轻量监控装上,CPU、内存、流量一眼可见。很多"突然变慢"其实是缓慢恶化,有监控曲线,一眼就能看出是从哪天开始不对劲的。

2. 日志轮转:Nginx、应用的日志记得配 logrotate,别让日志把磁盘吃满。这是新人最常踩的坑,也是最冤的——网站不是被流量打死的,是被自己的日志撑死的。

3. 定期备份:排查过程中难免要改配置、重启服务,改之前先备份。快照(商家提供的话)或手动打包一份,出问题 5 分钟回滚,比熬夜救火强。

什么时候才是真的该升级

查完一圈,如果结论是"配置真的不够",升级也别盲目加钱:

  • CPU 长期满、内存长期满 → 加配置,1 核 2G 是建站的甜点区。
  • 只是流量不够 → 先加流量包,比整机升级便宜。
  • 只是晚上卡 → 换优化线路或上 CDN,比加配置管用 10 倍。
  • 业务量涨了 10 倍 → 考虑《独立服务器 vs VPS》,看看是不是该换赛道了。

小够总结

网站变慢别急着加钱升级,按这个顺序查:机器 → 网络 → 应用 → 攻击。大部分情况,前两步就能定位,花的是 20 分钟时间,不是几百块升级费。真查到配置不够用了再升级,那叫"够用主义";没查就升级,那叫"交智商税"。升级前也可以先看看《独立服务器 vs VPS》,确认你到底需要加到什么程度。