1.
本节描述评估目的:验证香港CN2线路服务器在直播(RTMP/SRT/WebRTC)下的延迟、抖动、丢包与带宽稳定性,并通过可复现的步骤得出结论。
小分段:目标指标建议 —— 延迟(往返RTT)<50ms、抖动<30ms、丢包<0.1%、上行稳定带宽≥目标码率的1.5倍。
2.
在香港选择支持CN2直连的云或机房,准备两台实例:直播源(上行)和回放/测试接收端(下行)。建议机型 2 vCPU / 4GB 内存起步,公网带宽按码率×2 预留。
小分段:记录公网IP、ASN、BGP 路由信息,确保提供商标识 CN2 或有明确的电信直连标签,并准备SSH访问与sudo权限。
3.
在两台机器上安装常用工具:ping、traceroute/mtr、iperf3、ffmpeg、tcpdump/tshark、bmon 或 ifstat、docker(可选)。示例命令:apt update && apt install -y iperf3 mtr ffmpeg tcpdump tshark bmon。
小分段:如果使用SRT测试,安装srt-live-transmit或使用ffmpeg的-libsrt支持(ffmpeg -protocols | grep srt)。
4.
用traceroute或mtr确认从源到目标的路径是否走CN2出口。命令示例:mtr -rwzbc100 <目标IP>,观察AS号变化与跳数,CN2通常显示与电信骨干相连的ASN(如CHINANET/CNC等直连标签)。
小分段:保存mtr输出为文本用于对比:mtr -rwzbc100 xxx.xxx.xxx.xxx > mtr_src_to_dst.txt。
5.
在接收端运行:iperf3 -s
在源端运行:iperf3 -c <接收IP> -t 120 -P 8 -R(-R为反向测试),记录平均带宽、抖动和丢包。针对UDP测试:iperf3 -c
小分段:逐步增加并行流(-P)与带宽,观察吞吐随并发变化的稳定性,并记录丢包率和重传。
6.
RTMP示例:源用ffmpeg推流到服务器(示例):ffmpeg -re -i test.mp4 -c:v libx264 -b:v 3000k -maxrate 3000k -bufsize 6000k -c:a aac -f flv rtmp://<服务器>/live/streamkey。
小分段:观察推流端日志,记录丢帧、缓冲事件。接收端可用ffplay或OBS拉流:ffplay rtmp://<服务器>/live/streamkey。
小分段2:SRT示例:推流 ffmpeg -re -i test.mp4 -c copy -f mpegts "srt://<服务器>:port?mode=caller&latency=2000";调整 latency 以评估延迟与稳定性。
7.
使用tcpdump采包(示例):tcpdump -i eth0 host <目标IP> -w capture.pcap。用tshark或wireshark分析RTP/RTMP包丢失、重传与RTT。
小分段:用ffprobe或OBS统计丢帧、帧率波动;若使用SRT,可查看SRT统计(latency、retransmit、segmentLoss)。
8.
在Linux上推荐调整sysctl以降低延迟与提升吞吐:例如编辑 /etc/sysctl.conf 添加 net.core.rmem_max=268435456 net.core.wmem_max=268435456 net.ipv4.tcp_rmem=4096 87380 268435456 net.ipv4.tcp_wmem=4096 65536 268435456 net.ipv4.tcp_congestion_control=bbr (执行 sysctl -p)。
小分段:调整MTU为1500或更低(依据链路),并启用TCP BBR(uname -r 支持),确认:sysctl net.ipv4.tcp_congestion_control。
9.
搭建Prometheus + node_exporter + Grafana监控CPU、网卡吞吐、丢包(可用自定义脚本抓取iperf/ffmpeg统计),并设置报警阈值(例如5分钟丢包>0.5%报警)。
小分段:示例脚本周期性执行iperf3和mtr并写入Prometheus Pushgateway,便于可视化与历史回溯。
10.
收集所有测试数据(mtr、iperf3、ffmpeg日志、pcap),生成表格:平均RTT、90th延迟、抖动、平均丢包、带宽峰值与稳定性评分(0-100)。
小分段:评分参考值:RTT<30ms=优(90),30-60ms=良(75),60-100ms=中(50),>100ms=差(20);丢包<0.1%=优,0.1-0.5%=良,>0.5%=差。
11.
答:常见问题为短时抖动、突发丢包与路由切换导致的延迟峰值,尤其在高并发上行时更易显现;另外跨国返回路径可能出现带宽抖动。
小分段:解决思路包括使用更高探测频率的监控、开启SRT或FEC、调整TCP BBR与socket缓存、与带宽提供商沟通BGP优化。
12.
答:先用iperf3和mtr排查链路:若iperf3稳定而直播丢帧,则倾向于软件参数(编码器、缓冲)问题;若iperf3带宽抖动或mtr显示丢包/路由跳跃,则为链路问题。
小分段:结合tcpdump抓包看是否存在大量重传或RTP丢失,判断层级(L2/L3链路或应用层)。
13.
答:逐项执行:1) 提供给商的mtr/pcap证据并要求排查BGP与链路;2) 在应用侧启用SRT/FEC或增大缓冲;3) 调整sysctl与TCP拥塞算法并做回归测试;必要时更换线路或节点。
小分段:记录所有改动与重测数据,形成变更-效果对比,作为选择最终方案的依据。