我之前有台 VPS,用起来特别奇怪。
刚买的时候很顺,网站后台打开快,接口响应也正常,跑脚本没什么明显卡顿。结果用了一个多月之后,速度开始慢慢变差。
最开始我以为是配置不够,后来又怀疑是数据库变大了。结果查了一圈,CPU 没爆,内存也没完全吃满,磁盘空间看起来也还剩不少。
真正让我找到问题的,是后台日志。
原来这台 VPS 越用越卡,不是因为服务器突然变差,而是日志、异常请求和后台错误一直在累积。
本期小编就结合这次排查经历,聊聊为什么 VPS 会越用越卡,以及后台日志里到底藏了哪些问题。

刚开始我一直盯着CPU看,结果方向错了
服务器变慢之后,我第一反应还是看 CPU。
当时 CPU 大概在 20% 到 35% 之间,偶尔会上去一点,但没有长期满载。内存占用比刚开机时高了一些,但也没有到马上要崩的程度。
这就很容易让人误判。
因为从监控面板看,这台机器好像没什么大问题。
但实际体验就是慢。
后台登录慢,保存文章慢,接口偶尔慢半拍,SSH 进去执行命令也没有以前利索。
后来我才意识到,VPS 卡顿不一定会直接体现在 CPU 上。
很多卡顿,是磁盘、日志、数据库和异常请求一点点堆出来的。
我查日志后,才发现访问量没变少,异常请求变多了
我先看的是 Nginx access log。
本来以为访问日志里都是正常访问,结果翻了一下才发现,里面有大量扫描请求。
各种奇怪路径都来了。
比如后台登录探测、插件路径探测、接口路径扫描、无效文件请求。网站真实访问量其实没多少,但这些无效请求一直在打。
更麻烦的是,每一次请求都会产生记录。
访问日志在写,错误日志也在写。
如果请求打到动态页面,还会带动 PHP 和数据库。
这就变成了一个很隐蔽的问题。
表面上看网站没什么流量。
实际上服务器一直在处理垃圾请求。
我当时简单统计了一下,一天里正常访问没有多少,但 404 请求占比很高。
| 项目 | 排查前大概情况 |
|---|---|
| 每日正常页面访问 | 约 300 次 |
| 每日 404 请求 | 约 2600 次 |
| Nginx access.log | 1.8GB 左右 |
| Nginx error.log | 600MB 左右 |
| 后台平均加载 | 3 秒到 5 秒 |
| 接口偶发响应 | 300ms 以上 |
这组数据一看就很明显了。
不是项目访问量变大,而是无效请求和日志写入把服务器拖慢了。
错误日志一直刷,才是最烦的地方
access log 变大还算容易理解,真正让我意外的是 error log。
里面有不少重复错误。
有些是文件不存在。
有些是权限问题。
有些是 PHP warning。
还有一些是接口请求失败后的重复报错。
这些错误单独看都不严重。
但它们一直刷,就会变成持续写入。
尤其是低配 VPS,本来磁盘 IO 就不算宽裕,日志文件持续写入,数据库也在写,脚本也在写,几个动作叠在一起,服务器就会越来越钝。
我当时最明显的感受是,网站不是完全打不开,而是操作时会停一下。
这种停顿很像磁盘在排队。
日志不是只占空间,它还会持续消耗 IO。
Docker日志也可能偷偷变大
如果 VPS 上跑 Docker,这个问题更常见。
很多 Docker 容器默认会一直写日志。如果没有限制大小,一个容器跑久了,日志文件很容易写到几百 MB,甚至几个 GB。
我之前查过一次,网站容器本身没什么问题,但 Docker 目录占用特别大。继续往下看,发现主要是容器日志。
容器还在正常运行,所以你不会第一时间怀疑它。
但磁盘一直被日志写着,IO 慢慢被吃掉,最后表现出来就是 VPS 越跑越卡。
这种情况特别适合用一句话概括。
不是 Docker 让 VPS 变卡,而是你没管住 Docker 日志。
如果你长期跑 Docker 项目,一定要限制日志大小。不然时间一长,问题迟早会出现。
数据库慢查询,也藏在日志里
后面我继续查数据库日志,又发现另一个问题。
有几个页面打开慢,不是因为页面文件大,而是数据库查询慢。
尤其是后台列表页,每打开一次都会查很多数据。正常情况下几十毫秒能完成,但慢的时候会拖到几百毫秒。
如果只是一次查询慢,还不算严重。
但后台页面通常不是只查一次数据库。
一次页面加载背后可能有很多查询。
插件多一点,查询次数更多。
查询慢一点点,页面就会整体变慢很多。
我后来打开慢查询记录,发现几个重复查询非常明显。处理之后,后台加载速度就降下来了。
这次排查之后,我对日志的看法变了。
日志不是没用的文件。
它其实是在告诉你,服务器到底慢在哪里。
定时任务报错,也会让服务器越来越慢
还有一个很容易忽略的地方,就是定时任务。
我那台 VPS 上有一个脚本,每隔一段时间跑一次。正常情况下,它只是抓一点数据,写入数据库,负载很轻。
但后来我查脚本日志,发现它有一段时间一直请求失败,然后反复重试。
这就很麻烦了。
一次失败没关系。
一直失败,一直重试,就会变成额外负载。
脚本在跑。
日志在写。
数据库也在记录状态。
外部请求还一直超时。
这些动作加起来,就会让 VPS 慢慢变卡。
这类问题在监控里不一定特别明显,因为它可能不是瞬间打满 CPU,而是持续消耗资源。
VPS越用越卡,很多时候是慢性问题
这次排查最让我有感触的地方,是它不是突然坏掉。
它是慢慢变卡的。
第一周感觉还好。
第二周后台偶尔慢一点。
第三周日志开始变大。
一个月后,后台明显不如刚开始顺。
这种问题特别容易被忽略。
因为它每天只慢一点,你不会马上发现。
等到明显难受的时候,日志、异常请求、数据库记录、缓存文件可能已经堆了一堆。
VPS越用越卡,很多时候不是服务器性能下降,而是系统环境越来越乱。
我后来做了几步处理,速度确实回来了
找到问题后,我没有马上升级配置。
先清理了过大的日志文件,然后给日志轮转加了限制。
接着把明显异常的扫描请求做了拦截。
再处理了一些重复报错和慢查询。
最后把定时任务的失败重试次数调低,避免它一直死循环请求。
处理完之后,后台速度明显好了不少。
我简单记录了一下前后变化。
| 项目 | 处理前 | 处理后 |
|---|---|---|
| 后台首页加载 | 3秒到5秒 | 1.5秒左右 |
| 接口平均响应 | 180ms左右 | 90ms到120ms |
| Nginx日志占用 | 2GB以上 | 控制在几百 MB |
| iowait高峰 | 18%左右 | 5%以内 |
| 404异常请求 | 明显偏多 | 大幅减少 |
这次之后我更确定一件事。
很多 VPS 卡顿,不一定要靠升级解决,先把后台日志里的问题处理掉,效果可能更直接。
我现在会定期看几个地方
现在我维护 VPS,不会等到卡了才查。
我会隔一段时间看一下日志大小、错误日志、数据库慢查询、Docker 日志和磁盘空间。
常用命令其实不复杂。
du -sh /var/log/*
tail -n 100 /var/log/nginx/error.log
journalctl --disk-usage
df -h
如果跑 Docker,我还会看一下容器日志和 Docker 目录占用。
docker ps
docker logs --tail=100 容器名
du -sh /var/lib/docker/*
这些命令不需要每天跑,但长期服务器一定要定期看。
因为很多问题不是一天出现的,而是一个月、两个月慢慢堆出来的。
我现在怎么选长期跑项目的VPS
如果只是临时测试,我会用 LightNode 这种按小时计费的 VPS。测试环境跑完就关,日志和缓存不会长期堆积,也方便换节点验证问题。
如果是长期跑网站或者接口服务,我会更看重稳定性,比如 萤光云。长期项目里,线路、IO、资源稳定性都很重要,不能只看刚开机那几小时有多快。
当然,不管用哪家服务器,日志和后台维护都不能完全不管。
再稳定的机器,如果长期堆日志、堆错误、堆无效请求,也会慢慢变卡。
新手最容易忽略的地方
很多新手遇到 VPS 越用越卡,第一反应就是升级配置。
但这次排查之后,我反而建议先看日志。
日志里往往能看到很多线索。
是不是有人一直扫站。
是不是某个接口频繁报错。
是不是数据库查询慢。
是不是脚本一直失败重试。
是不是 Docker 日志爆了。
这些问题如果不处理,升级配置只能暂时缓解。
服务器资源变大了,但错误还在继续发生。
时间一长,还是会慢回来。
常见问题
VPS越用越卡一定是配置不够吗?
不一定,日志堆积、异常请求、数据库慢查询和 IO 波动都可能导致卡顿。
后台日志太大会影响速度吗?
会。日志不仅占磁盘空间,还会增加持续写入压力。
Docker日志需要定期清理吗?
需要,尤其是长期运行的容器,最好限制日志大小。
为什么CPU不高但网站还是慢?
可能是磁盘 IO、数据库查询、网络请求或异常日志写入在拖慢。
怎么判断是不是日志导致的问题?
看日志大小、错误频率、iowait 和接口响应变化,如果日志持续增长且卡顿同步出现,就要重点排查。
VPS 越用越卡,不一定是服务器越来越差,而是后台问题越积越多。
日志、异常请求、慢查询、脚本重试、Docker 输出,这些东西平时不起眼,但长期堆起来会非常影响体验。
如果你也觉得 VPS 没刚买时那么顺,不要急着升级配置。
先查一遍后台日志,很多答案可能就藏在那里。

