第一步联系IP提供方确认:是否NAT/CGN、是否有单IP并发/端口限制、上行/下行峰值与计费方式。用命令检查网络信息:curl ifconfig.me; traceroute -n <目标>; 查看WHOIS与AS信息,判断是否为住宅段。把提供方回复记录为SLA基线。
在本地或代理服务器上安装测试工具:sudo apt install iperf3 wrk htop iftop -y。测试带宽:在测试服务器运行iperf3 -s,客户端运行iperf3 -c
编辑/etc/sysctl.conf附加:net.core.somaxconn=65535; net.ipv4.tcp_max_syn_backlog=4096; net.ipv4.ip_local_port_range=15000 61000; net.core.rmem_max=16777216; net.core.wmem_max=16777216; net.ipv4.tcp_fin_timeout=30。加载生效:sudo sysctl -p。提高文件句柄:在/etc/security/limits.conf增加* soft nofile 200000\ n* hard nofile 200000,并在systemd服务中设置LimitNOFILE=200000。
检测并启用BBR:sudo modprobe tcp_bbr; echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf; echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf; sudo sysctl -p。验证:sysctl net.ipv4.tcp_congestion_control 和 lsmod | grep bbr。BBR可在丢包环境下提升吞吐。
如果有多IP,按IP绑定出口:sudo ip addr add 203.x.x.x/32 dev eth0;使用3proxy示例配置:proxy -a -p3128 -n -i127.0.0.1 -e203.x.x.x 写入/etc/3proxy/3proxy.cfg并systemctl restart 3proxy。对每个外显IP启用不同端口,做到并发分散。
避免单IP被限流:使用iptables控制并发阈值并保护内网。示例:iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 500 -j REJECT。增加nf_conntrack容量:echo 262144 > /proc/sys/net/netfilter/nf_conntrack_max,并调短相关超时。
使用tc做出峰值控制,避免短时突发触发提供商限速:sudo tc qdisc add dev eth0 root handle 1: fq_codel; sudo tc class add ...(按业务量分class)。对上游重要流量设置优先级,对爬取或后台流量限制速率,防止单任务占满链路。
启用长连接与连接复用:在代理/后端启用HTTP keep-alive、TLS session reuse、HTTP/2或HTTP/3(若支持)。客户端使用连接池库(例如curl multi或pooling thread)并设置合理的max connections-per-host,避免大量短连接导致端口耗尽。
部署监控:node_exporter + Prometheus,采集netstat/ss、tcp_retrans、if_octets、conntrack统计。设置阈值告警(带宽占用、连接数、错误率)。实现自动化:当单IP失败率高于阈值时自动切换到下一IP并通知运维。
问:一般来说每个日本住宅IP能承受多少并发连接?
答:没有统一数值,取决于提供商是否NAT、端口策略和链路质量。实操建议先从50并发开始测试,逐步增至200、500并观察丢包/重试与提供方反馈,记录阈值并以实际稳定性为准。
问:部署后发现单IP被运营商限速或断连,如何处理?
答:步骤:1) 保留测试日志(iperf/wrk输出、tcpdump);2) 与运营商申诉并提供证据;3) 临时扩展IP池并做流量均衡;4) 优化请求并启用缓存/CDN以减少外网请求;5) 如果常见,考虑更换供应商或购买更高等级线路。
问:有哪些可复现的长期压力测试方法?
答:结合iperf3做TCP/UDP带宽长跑(-t 3600),用wrk/siege对HTTP进行周期性并发测试(crontab定时),并用Prometheus记录7×24指标,分析小时/日级别波动,遇到异常回退到低并发并进行逐步回升验证。