北京日报
Nginx 静态视频配置应优先保证文件类型、分段读取、缓存策略和文件访问权限正确,配置项不宜盲目堆叠。
add_header Accept💯-Ranges bytes;
CPU 使用率达到 100%时,首先区分 Nginx worker、PHP 或其他应用进程是否占用资源。若 Nginx worker 占用较高,应检查是否对 MP4 开启 gzip、是否通过代🎉理层重复缓冲大文件、是否记录了过多复杂日志,以及是否存在大量异常 Range 请求。
磁盘 I/O 达到📌 100%时,应检查视频文件是否集中存放在机械硬盘、缓🎊存是否频繁失效、多个大文件是否同时被随机读取,以及磁盘空间和 inode 是否充足。
网络带宽达到 100%时,应确认监控显示的是 Mbps、MB/s 还是网卡✅利用率。一个高清视频请求可能持续🎯占用较大流量,多个并发连接叠加后,带宽会先于 CPU 达到上限。
单机带宽不足时,可以使用 CDN、对象存储或多节点分发,将视频文件从应用服务器剥离。limit_rate 能够限制单个连接速度,适合保护源站或控制突发流量,但限速本身不会增加总带宽,也可能降低用户播放体验。
大文件连续读取更适合高速 SS✨D、合理的文件系统缓存和稳定的并发控制。缓存目录如果与视频源文件共用低速磁盘,代理缓存未必能提升性能,反而可能增加写入压力。对于热门且不常变化的文件,边缘缓存通常比在源站反复读取更有效。
MP4 文件还需要具备可快速读取的媒体索引。使用普通编码工具生成文件时,moov 元数据可能位于文件尾部,播放器必须下载较多内容后才能开始播放。重新整理 MP4 文件结构可以改善首屏加载,但文件整理不等于重新编码,也不会解决带宽不足问题。