中国新闻网
Nginx CPU 满载时,应先确认高占用进程和请求类型,再判断是否属于正常流量增长,而不是直接增加 worker 数量。
add_header⚡ Accept-Ranges bytes;
application/vnd.apple.mpegurl m3u8;
视频文件通常不应启用 gzip 压缩。MP4、TS、WebM 等格式本身已经经过压缩,再次压缩往往增加 CPU 消耗,却不能明显减少传输体积。M3U8 播放列表属于文本文件,可以根🎯据内容更新频率设置较短缓存;固定版本的视频分片和 MP4 文件可以使用较长缓存,但文件名必须在内容变化后同步更新。
如果目标是用 Nginx 分发 MP4、HLS 或其他视频文件,重点不在于寻找名为“nginx100%video100%”的开关,而在于正确处理 HTTP Range 分段请求、缓存、文件读取和网络带宽。视频已经经过编码压缩,Nginx 通常负责高效传输,不适合承担转码任务。
视频加速技术介绍如果只停留在“打开 sendfile”或“增加 worker”层面,往往无法解决真实瓶颈。可执行的优化应根据内容类型和访问▶️规模分层处理。
视频转码、截图、音频抽取和封装格式转换应放到独立的媒体处理服务或任务队列中。Nginx 适合做接入和传输,不适合在请求链路内执行长时间转码。
MP4 文件还需要具备可快速读取的媒体索引。使用普通编码工具生成文件时,moov 元数据可能位于文件尾部,播放器必须下载较多内容后才能开始播放。重新整理 MP4 文件结构可以改善首屏加载,但文件整理不等于重新编码,也不会解决带宽不足问题。
网络带宽达到 100%时,应确认监控显示的是 Mbps、MB/s 还是网卡利用率。一个高清视频请求可能持续占用较大流量,多个并发连接叠加后,带宽会先于 CPU 达到上限。
单机带宽不足时,可以使用 CDN、对象存储或多节点分发,将视频文件从应用服务器剥离。limit_rate 能够限制单个连接速度💡,适合保护源站或控制突发流量,但限速本身不会增加总带宽,也可能降低用户播放体验。