1.
先定义可扩展性(带宽峰值、并发连接数、连接建立速率、资源自动扩展能力)和兼容性(操作系统、虚拟化、API、协议、IPv6/SSL)。写出SLA/指标表,如DDoS清洗阈值(Gbps/pps)、恢复时间(MTTR)、API响应时延。
2.
在自己可控网络或与厂商签署测试许可进行压力试验。准备两台测试机(公网上的流量生成器与被测高防服务的后端),安装iperf3、hping3、tcpreplay、curl、openssl、nmap。
3.
1) 带宽测试:在后端启动iperf3 server:iperf3 -s -p 5201;在流量端执行:iperf3 -c
2) 并发/连接速率:使用wrk、h2load或自写脚本并发建立HTTP连接,观察高防是否均衡并体现自动扩容。示例:wrk -t12 -c10000 -d60s http://<域名>/。
4.
使用nmap扫描支持的端口和协议:nmap -sT -sU -Pn
5.
使用hping3生成低速连接型或SYN洪水(仅在授权环境):hping3 --flood -S -p 80
6.
通过供应商API触发流量告警,模拟扩容条件(增加流量到阈值),检查是否按策略扩容、是否支持按流量/规则自动扩展。测试步骤:1. 编写脚本调用API获取当前带宽;2. 模拟流量达到扩容阈值;3. 观察API返回与控制台告警时序。
7.
验证操作系统(Linux发行版)、容器/虚拟化支持(KVM、Docker)、负载均衡/反向代理(Nginx/HAProxy)是否能在回源链路正常工作。用tcpdump抓包确认TCP三次握手及TLS握手完整性。
8.
确认是否支持Prometheus指标、Syslog/ELK导出、Grafana仪表盘与告警Webhook。实际操作:配置Prometheus抓取endpoint,生成阈值告警并触发演练。
9.
核对SLA(清洗能力、保障带宽、应急响应时长)、IP段与Anycast支持、黑白名单、收费模式(峰值/包月/按清洗计费),并在合同中写明测试与演练权利。
10.
问:如何在不违法的前提下做压力测试?
答:仅在自有IP/设备或与供应商书面同意下进行,避免向第三方或互联网发起未授权攻击;使用小步递增的流量测试并记录告警。
11.
问:用iperf3测试结果如何判断是否通过?
答:检查丢包率(UDP>1%需要关注)、带宽接近承诺值且后端延迟稳定、无大量连接超时或TCP重传,即可认为通过基本带宽可扩展性测试。
12.
问:兼容性测试遗漏了哪些容易忽略的点?
答:常忽略IPv6支持、TLS 1.3与SNI、HTTP/2/QUIC协议、以及与CDN/WAF联动后的回源头缓存行为,测试时应覆盖这些场景。