(1)确认服务器在台湾IDC并有多个公网IP或IP别名;(2)在服务器上用 ip addr 查看 IP:命令 ip addr show eth0;(3)确认防火墙与安全组放行测试端口(例如 TCP/5201 用于 iperf3,HTTP 80/443)。小分段:做好账号、SSH 密钥与时间同步(ntp)。
2.(1)用 ping 检测延迟:ping -c 10 对目标IP;(2)用 mtr 或 traceroute 定位路由问题:mtr -rwzbc 100 目标IP;(3)记录丢包与抖动。小分段:若丢包高,先联系运营商并检查本地链路与防火墙策略。
3.(1)在目标服务器启动服务端:iperf3 -s -p 5201;(2)在测试机运行客户端并绑定源IP:iperf3 -c 目标IP -p 5201 -P 10 -t 60 -B 源IP;(3)观察吞吐(Mbps)、重传。小分段:使用 -P 增加并发流测试多连接带宽极限。
4.(1)用 ss -s 与 netstat -an 查看连接状态;(2)用 tcptrack 或 conntrack -L 观察连接数;(3)测试短时大量连接:useab 或 wrk(HTTP)/hping3(TCP)做连接建立测试。小分段:监控 TIME_WAIT、SYN_RECV、ESTABLISHED 等状态。
5.(1)推荐工具:ab(简单)、wrk(高性能)、JMeter/Locust(场景脚本化)、vegeta(持久压测);(2)选择绑定源IP的方案:ab 支持 -B 源IP,iperf3 支持 -B,curl 可用 --interface,JMeter 在 HTTP Request Defaults 可配置“Source address”。小分段:如果工具不支持绑定,用 ip route 或在客户端添加 IP 别名并走对应出接口。
6.(1)创建简单脚本或直接命令:wrk -t12 -c400 -d60s http://目标IP/;(2)记录 requests/sec、Latency(avg、stdev、p50/p95/p99)、非 2xx 错误;(3)若需绑定源IP,先在客户端 add ip alias:ip addr add 源IP/32 dev eth0,然后用 ip route add 目标IP/32 via next-hop src 源IP。小分段:逐步增加并发并记录临界点。
7.(1)在 JMeter 中用线程组设置并发、Ramp-Up、循环次数,并用 HTTP Header/Assertion 仔细模拟业务;(2)Locust 用 Python 编写用户任务,支持分布式;(3)采集响应时间分位与错误率。小分段:分布式压测时用多台负载机并统一时间同步与监控。
8.(1)部署 node_exporter + Prometheus + Grafana 或用 netdata;(2)至少收集:CPU、内存、磁盘IO、网卡 tx/rx、socket 状态、tcp retrans、conntrack;(3)在压测时记录服务端日志与应用耗时(APM)。小分段:配置 Grafana 面板显示 p50/p95/p99、吞吐与错误率。
9.(1)抓包:tcpdump -i eth0 host 目标IP -w test.pcap;(2)用 wireshark/tshark 查看重传、RTO、窗口缩减;(3)结合 iperf3 输出与 ifstat、sar 分析时序问题。小分段:检查 MSS、TCP Window、丢包导致的重传和拥塞窗口变化。
10.(1)内核调优示例:net.core.somaxconn=10240,net.ipv4.tcp_tw_reuse=1,net.ipv4.tcp_fin_timeout=30;(2)Nginx:worker_connections、keepalive、sendfile 等调优;(3)提升并发需调大文件描述符与调整 conntrack。小分段:优化后重复压测并比对指标。
11.(1)在生产环境压测前请先在预发或隔离环境演练并取得许可;(2)设置流量限制与黑白名单避免误伤外部服务;(3)监控自动告警(CPU/RT/错误率)并预设停止策略。小分段:记录变更与回滚步骤,避免长时间占用公网带宽。
12.答:优先选择支持绑定源IP的工具(iperf3 -B、ab -B、curl --interface、JMeter 的 Source address)。若工具不支持,可在客户端创建 IP 别名(ip addr add 源IP/32 dev eth0)并用 ip route 指定 src,然后发起测试。
13.答:关注 p50/p95/p99 三个分位,p50 表示一般用户体验,p95/p99 反映尾延迟。若 p99 显著高于 p95,说明存在少数慢请求(可能是 GC、后端吞吐或网络抖动),需要定位慢链路并优化。
14.答:先抓包看是否为网络层重传(tcp retrans),检查带宽/丢包,查看服务器 CPU/IO 是否瓶颈;同时看应用日志定位 5xx 原因(连接池耗尽、后端超时)。按网络->系统->应用顺序逐层排查并重测验证。