1. 常见问题总览与优先级判定
1) 访问慢或连不上的优先级:网络丢包、DNS解析、CDN回源时延、VPS主机负载。
2) 页面错误(502/504/520):通常为后端服务超时、连接数耗尽或防火墙丢包。
3) 大量404/重复请求:域名解析错误或爬虫不当引起的站群探测。
4) 带宽抖动与高峰流量:可能是爬虫、爬取器或DDoS攻击。
5) 硬件/资源不足:CPU/内存/IO/连接数成为瓶颈,优先观察top、iostat、ss输出。
2. VPS/主机资源异常快速排查
1) 检查实时负载:top 或 htop,观察 Load Avg 与 CPU 95%+ 的进程。
2) IO 与磁盘延迟:iostat -x 1 3,若 await > 20ms 说明磁盘瓶颈。
3) 网络连接数与半开连接:ss -s 与 ss -anp | grep :80,查看TIME_WAIT与ESTABLISHED。
4) 内存与交换区:free -m,若 Swap 使用高说明内存不足。
5) 进程限制与文件句柄:ulimit -n 与 cat /proc/sys/fs/file-max,若打开数接近上限需调大。
3. 域名与DNS问题诊断要点
1) DNS生效检查:dig example.sg @8.8.8.8 +trace,确认各级NS返回一致IP。
2) TTL设置与切换延迟:若TTL过长(>86400),回源切换会有滞后。
3) 域名解析异常:检查域名在不同地区解析是否一致,使用mtr或traceroute追踪。
4) DNS污染或劫持:对比Whois与DNS解析结果,必要时更换DNS服务商。
5) 解析记录类型:A/AAAA/CNAME混用时注意CDN回源记录不要误配置为CNAME循环。
4. CDN配置、缓存与回源策略排查
1) 缓存命中率:查看CDN控制台命中率,低于70%说明回源请求过多。
2) 缓存规则优先级:确保静态资源(jpg/css/js)设置较长缓存,动态接口设置短缓存或不缓存。
3) 回源并发限流:CDN回源并发过高会导致源站压垮,设置回源保护与回源速率限制。
4) HTTPS与证书链:确认CDN与源站证书兼容,避免回源TLS握手失败。
5) 回源地址切换:切换为多个源站(负载均衡)并调DNS或CDN权重以分散压力。
5. DDoS防御与流量突发处置
1) 快速识别攻击流量:netstat/ss 与流量监控,若短时间内流量从10Mbps飙升到1000Mbps,疑似DDoS。
2) 使用分级防护:供应商防护(Cloudflare/阿里云防护)+ 本地防火墙(iptables/nginx rate limit)。
3) 限流与黑白名单:nginx limit_req、fail2ban或waf阻断异常IP段。
4) 弹性扩容与清洗:触发清洗策略或向上游申请清洗(如清洗带宽1Gbps、5Gbps计费)。
5) 日志与证据保全:保存流量峰值时间段的PCAP或访问日志用于申诉与取证。
6. 真实案例与服务器配置示例
1) 案例:某
新加坡站群早上高峰出现大量502,排查结果为后端PHP-FPM进程池耗尽,Load Avg 15,CPU 95%。处理:将pm.max_children从50调整到120,并启用CDN缓存后峰值响应时间从3.5s降至0.6s。
2) 案例:一次小型DDoS导致带宽从20Mbps瞬时飙升到1.2Gbps,使用Cloudflare Spectrum与黑洞路由后稳定。
3) 建议服务器配置示例(单节点回源):见下表,适合中小站群回源节点。
4) 配置要点:操作系统选择CentOS 7或Ubuntu 20.04,开启tcp_tw_recycle禁用、调高net.core.somaxconn到10240。
5) 备份与监控:建议启用Prometheus+Grafana与每日快照备份,快照保留周期不少于7天。
来源:新加坡站群常见问题汇总与快速排查指南确保稳定运行