1. 在高并发场景中选择香港原生IP的理由包括低延迟、对中国大陆/港澳访问友好、合规和更少的中间路由。关键要点:估算并发连接数、请求速率、每连接带宽、是否使用长连接(HTTP/2、WebSocket)、是否需要DDoS保护与多线路冗余。
2. 步骤:A) 统计峰值同时在线用户(C);B) 估算每个连接平均上行+下行带宽(B,单位字节/秒或kb/s);C) 估算请求/秒 RPS;D) 带宽峰值 = C * B,考虑TCP/HTTP开销 + 20%抖动。例如:C=50,000,B=50kb/s => 总带宽≈2.5Gbps,取冗余系数1.3 => 3.25Gbps,建议至少购买4Gbps或10Gbps链路。
3. 建议按并发规模选型:10k并发:4-8核、16-32GB、NVMe 100GB、1×10GbE或2×1GbE Bond;50k并发:16-32核、64-128GB、NVMe 500GB、1×10GbE以上;100k并发:多台分布式,单台建议32核、128GB、10GbE或25GbE。网卡选择支持SR-IOV和大包卸载(LRO/GRO/TCP Segmentation Offload)。
4. 步骤:A) 选择按峰值计费或按95/90排峰计费,按95计费能节省费用但注意突发;B) 多供应商多链路(例如两条不同机房/运营商),使用BGP或GSLB做流量调度;C) 购买弹性公网IP与保底带宽,配置超峰报警和自动扩容策略。
5. 将以下写入/etc/sysctl.conf并执行sysctl -p:
5. net.core.somaxconn=65535 net.ipv4.tcp_max_syn_backlog=65536 net.ipv4.ip_local_port_range=1024 65535 net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_fin_timeout=15 net.core.netdev_max_backlog=250000 net.ipv4.tcp_max_tw_buckets=2000000
5. 同时提升文件描述符:echo "fs.file-max = 2000000" >> /etc/sysctl.conf; ulimit -n 2000000 并修改 /etc/security/limits.conf。
6. Nginx(关键)示例片段:worker_processes auto; worker_connections 65536; worker_rlimit_nofile 200000; keepalive_timeout 15; sendfile on; tcp_nopush on; tcp_nodelay on;
6. HAProxy示例:global maxconn 200000; defaults timeout connect 5s timeout client 50s timeout server 50s; frontend http-in bind *:80 accept-proxy mode tcp maxconn 150000; 使用keepalive和tune.ip.{conn,server}进行调整。
7. 步骤:A) 本地化压测准备:用wrk/httperf/h2load/ab模拟RPS,使用iperf3测试带宽;B) 从不同地域启动分布式压测节点以模拟真实流量;C) 监控指标:网口流量、连接数(netstat -an | grep TIME_WAIT | wc -l)、CPU、内存、磁盘IO、应用延迟;D) 若发现瓶颈,逐步排查是CPU、内核队列还是网卡限制。
8. 步骤:A) 部署WAF和基于黑洞/清洗的DDoS服务(云厂商或第三方清洗);B) 使用IP黑白名单、连接速率限制(Nginx limit_conn, limit_req);C) 配置Anycast或GSLB做流量分配,多点冗余,并定期演练故障切换。
9. 问:我如何把上面的估算变成可执行的上线计划?
9. 答:先收集历史峰值并计算并发与带宽;选择单台机器规格并按冗余算出需要的节点数;在测试环境做sysctl及应用调优,使用iperf3和wrk验证单台吞吐;采购带宽(尽量预留1.3-1.5倍冗余),部署HAProxy+Nginx并监控,最后在低峰进行流量回流与压测,确认无误后切换流量并观察。
10. 问:我的并发不是很确定,应该买1Gbps还是10Gbps?
10. 答:按峰值带宽计算若估算>800Mbps就优先选10Gbps;若不确定可先选按95计费的弹性带宽并结合自动扩容和多节点策略,短期内用小带宽+多节点分摊或使用CDN缓存静态内容降低出口压力,长期业务稳定后再升级固定10Gbps链路以保证延迟和抖动。
11. 问:正式上线后遇突发大流量或丢包如何应急?
11. 答:第一步触发自动告警并启用流量清洗/云厂商防护,打开速率限制与临时缓存策略(Nginx缓存静态、限速动态),快速水平扩容后端实例并在负载均衡层逐步回流流量,最后分析日志定位攻击或热点,优化应用代码与缓存策略,平时演练SOP以缩短响应时间。
