凌晨两点,监控告警响了。VPS的CPU飙到95%,用户反馈页面打不开。这是很多运维人员都经历过的场景。VPS卡顿的原因有很多,排查有方法,攻击来了也有标准处置流程。
server_emergency_response.jpg

VPS卡顿:先从这几个点排查
CPU跑满。用top或htop看一下哪个进程在耗CPU。常见 culprit 是数据库慢查询、视频转码、或者死循环。如果是业务正常增长导致的,考虑升配或加负载均衡。WordPress站点有个参考数据:每1000访问量约消耗50MB内存,2核4G的配置大概能支撑8万日PV。
内存不足触发swap。当物理内存用完,系统会把数据换到磁盘swap分区,速度断崖式下降。free -m看一下内存使用情况,如果swap占用持续走高,要么加内存,要么优化应用减少消耗。
磁盘I/O瓶颈。传统HDD的随机读写延迟10ms以上,SSD可以控制在0.1ms内。如果VPS还在用HDD,数据库类业务卡顿几乎是必然的。iostat -x 1查看磁盘使用率,如果长期超过80%,考虑换SSD或优化查询。
带宽跑满。电商大促、线上活动这种突发流量场景最容易触发。提前配置弹性带宽或CDN分流,比事后处理管用得多。
超售问题。部分服务商把一个物理机虚拟成20多个VPS,资源互相争抢。如果你发现VPS性能波动很大,而自身资源使用率并不高,很可能是邻居在抢资源。联系服务商确认节点资源分配情况,必要时换节点。
系统配置问题。内核参数未优化、后台冗余进程没关、日志文件没清理、防火墙规则过于复杂,这些看似小事,长期积累下来也会拖慢系统。定期清理冗余进程、优化内核参数、关闭不必要的服务,是老VPS必做的功课。

被攻击了:分类型处置
DDoS流量攻击。表现是带宽瞬间跑满、丢包率飙升、正常用户无法访问。处置步骤:第一步接入高防清洗服务,把流量引流到清洗中心过滤恶意流量;第二步暂时切断非核心业务端口,减少攻击面;第三步联系服务商协助处理。Cloudflare 2025年Q2的报告显示,超大规模DDoS攻击在持续增长,SYN洪水仍然是最常见的攻击手段。
CC应用层攻击。表现是特定接口访问异常、CPU占用率莫名其妙升高。这种攻击模拟正常用户请求,不好直接用防火墙过滤。处置方法:限制单IP访问频率(rate limiting),对可疑IP段临时封禁,在WAF层面加规则拦截异常请求模式。
暴力破解。表现是SSH/RDP登录日志里出现大量来自不同IP的登录尝试。处置方法:立即修改弱密码,关闭密码登录改用密钥认证,把SSH端口从22改成非标准端口,用fail2ban自动封禁暴力破解IP。
webshell植入。表现是网站目录下出现不明文件,或者进程列表里有可疑程序。处置方法:用杀毒工具全盘扫描,查杀webshell和恶意文件,回溯攻击入口(通常是某个漏洞上传点),打补丁修复。

日常运维:三件事别偷懒
定期巡检。每周至少一次,检查资源使用率、系统漏洞补丁、安全日志异常、数据备份完整性。核心业务建议每日巡检,增加进程监控和端口开放情况检查。自动化工具能帮你省不少事,Prometheus + Grafana做监控面板,Zabbix做告警,配置好了基本不用手动查。
备份策略。重要数据至少保留3份不同存储介质的备份。核心业务每日增量备份、每周全量备份,备份文件定期做恢复测试,确认能用。太多人做了备份但从没验证过,真要用的时候发现文件损坏,哭都来不及。
选服务商看三点。IDC经营许可证是底线,没有就是违规经营。机房资质至少Tier III,电力冗余N+1起步。售后响应速度直接问:故障处理时效承诺是多少?有没有SLA协议?出了问题找不到人的服务商,再便宜也别选。

写在最后
VPS的稳定性不是靠买贵的配置堆出来的,而是靠日常巡检、及时优化和应急预案堆出来的。卡顿问题按CPU、内存、磁盘、带宽、超售的顺序逐一排查,大部分都能找到根因。攻击来了先分清类型,再按对应流程处置,别慌。
数据来源:Cloudflare 2025年Q2 DDoS威胁报告、openEuler社区运维实践、18年服务器运维经验总结