在对台湾VPS(尤其是标注为CN2或CN2直连线路)的吞吐与并发能力做测试前,必须先准备好受控的环境和工具。推荐工具组合:网络吞吐用 iperf3(TCP/UDP、多流并行),并发请求用 wrk、ab、siege(HTTP/HTTPS压力测试),磁盘/IO用 fio,系统监控用 htop、vmstat、iostat、ss、iftop、nload。
准备步骤应包括:1) 在本地或另一台云端部署一个稳定的对端测试主机(与被测VPS尽量位于不同交换/运营商路径)以排除本地限制;2) 保证测试时VPS没有其它干扰性服务运行(停止定时任务、备份、扫描等);3) 记录带宽/CPU/磁盘规格、操作系统内核版本及网卡类型;4) 确认是否有防火墙或云平台限速(云控制台QoS、端口策略)。
针对吞吐,首选工具是 iperf3。基本命令示例:
iperf3 -s (在被测VPS上启动服务端)
iperf3 -c 目标IP -P 10 -t 60 -i 5 (在测试端并发10条流跑60秒)
注意点:1) 使用 -P 指定并行流,单流TCP常受TCP窗口限制,增加并行流可以逼近线路极限;2) 做TCP与UDP对比(UDP会显示丢包和抖动),UDP示例:iperf3 -c IP -u -b 500M -t 30;3) 多次测试并取中位值,测试时间建议不少于30秒,包含冷启动阶段;4) 记录平均带宽、抖动、丢包率、重传次数及延迟变化。
解读时判断瓶颈:若带宽接近VPS宣称值但CPU高、socket重传多,可能是CPU或中断成为瓶颈;若丢包严重且延迟上升,可能为网络拥塞或运营商链路问题(CN2一般延迟低、丢包少,异常需联系厂商)。使用 mtr/traceroute/tracepath 可辅助定位哪一跳出现问题。
对并发能力测压更侧重在同时连接数、每秒请求数(RPS)以及应用层资源(Worker/线程/连接池)。常用工具:wrk(高并发HTTP),示例:wrk -t12 -c400 -d60s http://目标/路径,其中 -t 为线程数,-c 为并发连接数。
实际测试要考虑:1) 开启或关闭 Keep-Alive 的影响;2) 是否为 HTTPS(TLS 握手影响并发吞吐),可以用 wrk + openssl 或使用专门的 TLS 压测工具;3) 结合业务场景使用脚本(如 wrk 的 Lua 脚本)模拟真实请求路径和 Header;4) 观察目标应用的响应时间分布(99%、95%延迟)而非只看平均值。
并发测试常见指标:RPS、平均RTT、P50/P95/P99延迟、错误率(4xx/5xx)、连接建立/关闭速率。若并发下错误率上升或响应时间剧增,应同时监控系统指标以定位瓶颈。
定位瓶颈的关键是同时采集多维度指标并对比。网络层可用 iftop、nload、ss/netstat、ethtool -S,关注带宽、丢包、错误帧、RX/TX队列长度、NIC重传和中断;CPU与中断相关问题用 top/htop 查看是否为软中断(si/hi)或单核饱和。
磁盘IO问题使用 iostat -x、fio 进行读写压力测试并观察 IOPS、延迟、await。应用层问题通过应用的日志、线程池状态、数据库慢查询、连接池耗尽来判断。综合方法:在压测同时执行 sar -n DEV、vmstat 1、iostat 1、ss -s,结合采样出的 CPU、内存、IO、网络指标,若 CPU 使用率很低但网口丢包严重,则偏网络;若带宽未达到限值但 CPU 100% 则偏计算瓶颈。
另外,可对比本地对端测试:在同一测试脚本中用不同源进行压测,若只有到台湾VPS路径异常,侧重网络链路和运营商;若到所有目标都存在问题,则偏应用或VPS资源限制。
针对测试结果采取对应调优,常见措施包括内核网络栈与应用层两大类。网络内核调优示例(用 sysctl):
net.core.rmem_max、net.core.wmem_max 提高套接字缓存上限;
net.ipv4.tcp_rmem、tcp_wmem 增大自动窗口范围;
net.core.netdev_max_backlog 增加网卡接收队列,减少丢包;
net.ipv4.tcp_congestion_control = bbr (或适合场景的拥塞控制算法);
net.ipv4.tcp_tw_reuse、tcp_fin_timeout 调整 TIME_WAIT 回收策略以支撑高并发短连接。
网卡与驱动调优:检查并开启/关闭 offload(GRO/GSO/TSO)以判断对延迟与CPU的影响:ethtool -K eth0 tso on/off gso on/off gro on/off。必要时调整 IRQ 亲和性将中断绑定到不同 CPU,或使用线程/进程亲和来减少竞争。若支持,启用 MTU 9000(Jumbo Frame)并对链路端到端支持进行验证,可提升吞吐。
应用与服务调优:Web 服务增加 worker 数或使用事件驱动模型(如 Nginx 的 worker 与 keepalive 配置),数据库连接池、缓存(Redis/Memcached)调优,尽量减少同步阻塞操作。对 HTTPS 可启用 session resumption、OCSP stapling,减少握手成本。
云厂商与路由优化:针对标注为 CN2 的线路,若测试显示链路问题,可联系提供商确认是否走 CN2 直连或是否存在策略流量限制,有时更换机房、IP 段或提交工单调整路由能显著改善延迟与丢包。
最后强调监控与迭代:每次改动后重复相同的测试用例(相同并发/并行流/数据包大小)并记录对比,逐项变更并回滚无效优化,使用可视化监控(Prometheus+Grafana、ELK)长期观察趋势。