1.
准备与合规(前置工作)
- 与云/机房服务商书面确认测试授权与时段;获得上游清洗/路由白名单。
- 明确测试目标:带宽(Gbps)、包速率(pps)、并发连接、业务可用率(SLA)。
- 备份系统配置、快照与应急回滚步骤,通知相关运维与客户代表。
2.
环境与基线检测
- 在目标 VPS 上收集基线:cpu/mem、网络吞吐(iperf3)、连接数(ss -s)、I/O。
- 启用并采集监控:Prometheus + node_exporter 或基础的 sar/dstat,设置 10s 采样。
- 开启抓包:tcpdump -i eth0 -w baseline.pcap 适当时间段以便后续比对。
3.
工具与攻击类型选择
- 推荐工具:hping3(SYN/UDP)、iperf3(带宽)、wrk/ab(HTTP 压力)、slowhttptest(慢连接)、tcpreplay(回放)。
- 攻击类型至少覆盖:SYN flood、UDP flood、HTTP GET/POST 高并发、慢速连接、混合流量。
4.
测试分阶段与安全阀设置
- 阶段 1(基线确认):小流量验证监控通路与抓包。
- 阶段 2(递增压测):带宽或 pps 每步提升 20%-50%,每步维持 2-5 分钟采集数据。
- 阶段 3(峰值验证):在授权峰值短时冲击,记录丢包、时延、CPU 峰值。设置中止阈值(例如 CPU>90% 或 丢包>10%)。
5.
具体命令示例(发送端)
- 带宽测试:iperf3 -c <目标IP> -P 10 -t 60 -b 5G(在受控机群上并行)。
- SYN flood(小心使用,需授权):hping3 --flood --rand-source -S -p 80 <目标IP>。
- HTTP 压力:wrk -t12 -c400 -d60s http://<目标IP>/path
6.
监控与数据采集(目标端)
- 实时指标:top、htop、dstat、iftop、nethogs;网络层用 ss -s、netstat -anp。
- 报表采集:抓包 tcpdump -i eth0 -w testX.pcap,记录系统日志 /var/log/messages、nginx/应用日志、防火墙日志。
7.
防护策略验证步骤
- 验证内核参数:sysctl net.ipv4.tcp_syncookies=1、net.netfilter.nf_conntrack_max 调整并记录。
- 验证防火墙与连接限制:iptables/nftables 限速、conntrack 限制、SYN cookie 生效,观察连接建立/重置比例。
- 验证上游清洗:在达到阈值时,确认上游是否触发流量清洗(BGP community 或清洗通知)。
8.
故障演练与切换流程
- 预制黑洞/转发脚本:与运营商测试执行 null-route 与 BGP 通告撤回流程。
- 演练演变场景:节点宕机、链路拥塞、清洗误判的回退流程,演练时记录切换时间与业务影响。
9.
测试后分析与报告
- 汇总指标:最大通过带宽、最大 pps、TPS/响应时间曲线、丢包率、资源占用。
- 给出建议:调整 conntrack、SYN cookie、限速策略、部署 WAF 或上游清洗阈值,并附上重现步骤与命令。
10.
长期演练与自动化建议
- 建立周期性演练(季度),使用自动化脚本按计划触发,并把监控告警与工单联动。
- 把测试数据接入 Grafana 报表,设定 SLO 监控与自动化回归测试。
11.
问:如何确保压测合法且不影响他人?
- 答:始终先取得云厂商/上游书面授权,限定时间窗口、白名单测试 IP、在专用测试网络或受控机群中进行,且准备好回滚与通知单。
12.
问:如何区分带宽瓶颈与连接表(conntrack)瓶颈?
- 答:看指标:若网卡带宽饱和(iftop/iperf 显示),是带宽瓶颈;若带宽未满但大量半开或 TIME_WAIT 导致服务不可用,查看 conntrack 使用(cat /proc/net/nf_conntrack 或 ss -s)。
13.
问:一旦测试导致业务中断,如何快速恢复?
- 答:提前准备快照回滚、iptables 清理脚本、与上游联络撤销黑洞;演练中记录恢复命令并把联系方式公开给值班人员以便快速响应。
来源:技术团队如何评估台湾vps cn2 高防空间的抗压能力 与演练建议