首先判断是否为机房/线路问题或实例内部配置问题。使用 ping、traceroute 或 mtr 对目标(如国内访问节点或上游网关)进行连续测试,观察丢包与跳点延迟。
在 VPS 上执行:mtr -rw 8.8.8.8 或 traceroute -n 8.8.8.8,并用 tcpdump 捕获异常流量。
ping -c 100 -s 1472 example.com 检查 MTU;iftop/nload 查看实时带宽占用。
若丢包集中在上游节点,联系机房/带宽提供商;若仅在实例内部,检查防火墙、网络驱动与内核参数(如 TCP window、congestion control)。
带宽不等于延迟或并发处理能力。先查看并发连接数与应用层瓶颈,使用 ss/netstat 检查 TCP 连接状态,确认是否存在大量 TIME_WAIT 或 SYN_RECV。
检查 Web 服务器(如 Nginx/Apache)并发限制、PHP-FPM 进程数、数据库连接池等,优化 keepalive、缓存和静态资源分发(可使用 CDN)。
磁盘 I/O 高会导致响应慢,即使带宽充足。用 iostat、iotop 查看磁盘等待时间(%iowait)与 IOPS。
增加缓存(Redis/内存缓存)、开启 gzip/缓存头、使用 CDN 与负载均衡来降低单机并发压力。
先通过 iostat -x 1 10、ioping、fio 做基准测试,观察 await、svctm、util(%util)等指标,确认是主机层还是文件系统层的问题。
iostat -x 1 5、ioping -c 10 /path、fio --name=test --rw=randread --bs=4k --size=1G --numjobs=4 --runtime=30。
如果是云宿主机过载或磁盘打点(noisy neighbor),联系机房迁移或升级;若是文件系统碎片或不当挂载参数,考虑调整 mountopts(如 noatime)、更换文件系统(ext4/xfs)、开启 discard/TRIM(针对 SSD)。
进行文件系统或磁盘调整前务必先完整备份快照,避免修复过程中丢失数据。
大量小文件会造成高 IOPS 和元数据访问压力,建议评估是否将小文件合并或迁移到对象存储。
可将小文件打包为 tar 或使用数据库、对象存储(如 S3/OSS)存放静态资源;对高频访问小文件考虑把部分目录挂载为 tmpfs 或使用缓存层。
选择支持大量小文件和较低元数据开销的文件系统(例如 XFS),并调整 inode 数、readahead、目录索引等参数。
监控 inode 使用率(df -i),定期清理过期文件与归档,避免单目录包含过多文件导致查找变慢。
基层排查遵循“网络→系统→磁盘→应用”的顺序,同时保留采集数据用于复盘和提交工单。
网络:ping, traceroute, mtr, tcpdump;系统:top, htop, vmstat;磁盘:iostat, iotop, fio, ioping;应用层:ss, nginx/apache 日志, Profiling。
1) 收集指标(CPU、内存、iowait、带宽、连接数);2) 重现问题并抓包/基准测试;3) 定位层级(网络/内核/磁盘/应用);4) 临时缓解(降载、扩容、重启服务/网络);5) 根因分析与持久修复。
保存测试结果(mtr/traceroute、iostat 输出、tcpdump pcap)并附上时间线,便于与机房或云厂商沟通。
