在面向台湾站群且总出口只有20m带宽的场景,最佳方案是结合预转码多码率分发(HLS/DASH)、使用现代图像格式(AVIF/WebP)并通过边缘缓存(CDN/本地缓存节点)限制带宽峰值;最优(成本与效果平衡)是使用H.264 MP4 + WebP并配合自建缓存与HTTP/2;最便宜的做法是通过严格的分辨率/质量策略(降低默认分辨率、启用懒加载与压缩)来节省流量。全部策略都应落在服务器端实现,以最大化带宽利用率与用户体验。
首先明确:这里的20m带宽通常指出口带宽20Mbps,上行/下行或共享于多个站点,流量高峰时极易成为瓶颈。目标是保证页面首屏加载和视频基本可看,同时降低并发对带宽的冲击。要点包括资源并发数、平均会话时长、并发视频数及缓存命中率。
图片应优先采用现代编码:AVIF(最佳压缩比)与WebP(广泛兼容)。服务器端使用libvips或ImageMagick进行批量预处理和按需裁剪:生成多尺寸切片(320/480/768/1024/1366/1920),并在响应中返回srcset与sizes。建议质量参数:WebP q=75,AVIF q=40~50(文件更小但编码耗时高)。
在服务器(如nginx或CDN)层面,启用强缓存策略:Cache-Control, ETag/Last-Modified。对小图标使用SVG或icon font替代位图;对装饰性图片启用loading="lazy"。避免对图片使用gzip/brotli压缩(无效),但可对图片服务接口开启brotli来压缩JSON响应。
视频应采用自适应码流(HLS或DASH),在服务器端预转码出多码率切片。推荐码率配置(H.264,常规参考):1080p 4–6 Mbps,720p 1.5–3 Mbps,480p 700–1200 kbps,360p 400–600 kbps。若可支持,使用VP9或AV1可显著降低带宽但需考虑编码/解码成本与兼容性。
使用ffmpeg或基于硬件的加速(NVENC、VAAPI)批量转码,参数示例:libx264 -preset medium -crf 23(可根据画质/体积平衡),或对低带宽场景优先生成320/480/720等低码率版本。切片时建议segment 4秒左右以兼顾延迟与切换速度。
在服务器端(nginx)建议设置:sendfile on、tcp_nopush on、tcp_nodelay on,启用http2/3并配置合理的worker数量。启用Range请求支持以加速视频拖动。对视频和图片设置不同缓存策略:长缓存静态资源,短缓存API。对文本资源启用Brotli/Gzip。
即使是台湾站群也应考虑本地化CDN或机房镜像以降低回源带宽。对于20Mbps出口场景,边缘缓存能大幅降低回源压力,确保热门资源命中率高并减少同一时刻上游并发。
部署后需通过WebPageTest、Lighthouse、服务器带宽/连接数监控、视频播放成功率、首帧时间和缓冲比(rebuffer ratio)来衡量优化效果。关注95分位带宽使用、并发视频数与缓存命中率。
在有限带宽下,更多服务器端CPU用于预转码或实时转码可显著节省传输量;但实时转码会提高成本。推荐策略是预生成常用码率,偶发请求采用按需实时转码并缓存结果。
对台湾站群的20m带宽场景,优先做:1) 图片走AVIF/WebP多尺寸预处理+懒加载;2) 视频使用多码率HLS,优先H.264兼容,兼备VP9/AV1降低带宽;3) 服务端(nginx)合理缓存、启用http2/3与range支持;4) 使用本地CDN/机房镜像提高缓存命中。按照上述策略部署,可在有限带宽下保持良好用户体验并最大化资源利用。