1. 测试前的准备与目标定义
- 明确测试范围:仅测试自有或已授权的
香港高防服务器和关联域名、CDN节点。
- 明确测试目标:容量验证(Gbps)、并发连接数、每秒请求数(RPS/TPS)、恢复时间(RTO)等。
- 合规与授权:获取托管商与客户书面授权,避免触犯法律或服务协议。
- 网络拓扑映射:记录公网IP、BGP线路、是否接入CDN/WAF、备份链路与DNS配置。
- 环境快照:备份关键数据并记录当前系统负载、版本与配置,方便回滚与比对。
2. 环境与工具选择
- 常用压测工具:iperf3(带宽测试)、wrk/jmeter(HTTP压测)、siege。
- 抗攻击模拟工具:hping3(TCP/UDP/ICMP自定义包)、tcpreplay(流量回放)、厂商合规流量发生器。
- 监控与日志:tcpdump、iftop、vnstat、sar、netstat、prometheus + grafana。
- 安全设备与服务:WAF、CDN、云端清洗(Scrubbing)、黑洞路由测试需与运营商协调。
- 注意事项:避免使用公开匿名攻击工具进行真实互联网攻击;优先采用合规压测服务或模拟流量生成器在隔离环境执行。
3. 压测方法与关键指标
- 带宽吞吐量测试(Gbps):使用iperf3做单向/双向测试,逐步递增到目标值(例如:目标100 Gbps)。
- 并发连接与长连接承载:模拟并发连接数(例如:50万并发),观察C10K/C100K性能与socket耗尽情况。
- 请求率与延迟:HTTP层测量RPS(例如:目标10万 RPS)与P95/P99延迟(ms)。
- 包速率(PPS):关注PPS对CPU中断与防火墙规则匹配性能影响(例如:目标1M PPS)。
- 系统资源阈值:CPU/内存/磁盘IO/网络中断率/conntrack表满等指标的临界值与安全余量(举例:当CPU>75%或conntrack使用率>80%触发告警)。
4. 抗攻击评估流程
- Layer3/4(大流量)评估:在运营商或清洗中心配合下,逐步注入UDP/TCP流量,检测清洗能力和丢包率。
- Layer7(应用层)评估:使用wrk/jmeter模拟真实用户行为并发起大量HTTP请求,测试WAF、CDN缓存命中率与限流策略。
- 防护策略验证:检验黑白名单、速率限制、连接阈值、ACL与策略切换(黑洞/清洗/回源)是否按预期工作。
- 故障与恢复演练:断开主链路或禁用CDN,验证故障切换时间与数据一致性(RTO/RPO)。
- 渗透与日志审计:在安全范围内进行有限渗透测试,确保日志、IDS/IPS和告警规则能及时捕获异常。
5. 数据记录与分析方法
- 实时监控面板:部署Prometheus+Grafana或Zabbix,记录带宽、PPS、连接数、CPU、内存与延迟曲线。
- 报文与系统日志:使用tcpdump抓包关键时刻数据,保存syslog、nginx/应用日志与防火墙日志。
- 指标比对表:压测前/中/后对比TPS、RPS、丢包率、响应时间与资源占用。
- 自动化报告:将关键图表导出并生成事件时间轴,标注策略调整点与效果。
- 根因分析:通过抓包与流程回放定位瓶颈(如tcp重传、队列溢出、iptables规则匹配延迟)。
6. 真实案例与服务器配置示例
- 案例简介:某香港电商在双11促销期间遭遇大流量攻击,攻击峰值120 Gbps、0.9M PPS,目标为应用层与UDP泛洪混合攻击。
- 采用方案:启用云端清洗(200 Gbps峰值)、前端CDN缓存、WAF策略与双BGP多线。
- 结果数据:在清洗启动后带宽降至10 Gbps以内,P95延迟从1200ms降至220ms,系统可用性保持99.95%。
- 教训与优化:增加conntrack表大小、优化nginx keepalive、在边缘开启速率限制避免回源拥塞。
- 推荐配置举例:见下表(示例数据用于压测参考)。
| 配置项 |
示例A(应用服务器) |
示例B(高防节点) |
压测目标/结果 |
| CPU |
8 vCPU(Intel Xeon) |
16 vCPU |
保持CPU<75% |
| 内存 |
32 GB |
64 GB |
内存稳定无交换 |
| 网络 |
1 Gbps 带宽 |
10 Gbps 公网 + 200 Gbps 清洗能力 |
峰值抗DDoS 120 Gbps 减至 <10 Gbps |
| 存储 |
500 GB NVMe |
1 TB NVMe |
IOPS满足高并发需求 |
| 其他 |
BGP 多线,CDN 回源配置 |
WAF + 黑白名单 + 速率限制 |
RPS 100k 可稳定承载 |
来源:如何自行完成香港高防服务器测试包括压测与抗攻击评估