按顺序处理 nginx100%video100% 故障



HLS 或 DASH 视频服务的压力结构与单个 MP4 下载不同。播放器会连续请求 m3u8、mpd、ts、m4s✨ 或其他媒体分片,文件数量更多、请求频率更高,短请求集中出现时,连接和访问日志可能先达到瓶颈。



降低 Nginx 视频负载需要先匹配业务类型🎨,再调整配置。静态点播、切片点播和实时直播的优化方向不同,盲目增加 worker_connections 不能解决带宽不足、磁盘过慢或上游转码过载。



当 CPU 不高但带宽达到上限时,增加 worker 进程没有帮助;当带宽充足但磁盘等待很高时,扩容网卡也不能解决问题;当🎨连接数很高而请求耗时异常时,应优先检查慢客户端、超时和上游服务。按照资源瓶颈选择措施,才能把视频分发恢复到可预测状态。



切片文件缓存与响应头



nginx100%video100% 不是 Nginx 官方错误码、配置项或标准监控▶️指标,通常表示 Nginx 承载视频文件、直播流或切片请求时,CPU、带宽、磁盘读取、连接数中的一项或多项达到 100%。排查重点不是修改一个名为“video100%”的参数,而是先确认到底是哪类资源耗尽。



worker_pro🔥cesses 通常可以根据 CPU 核数和实际压测结果设置,worker_connections 只代表单个工作进程可管理的连接规模,不等同于可承载的😎观看人数。文件描述符上限、内核连接队列、带宽上限和上游服务能力同样需要匹配。



静态 MP4 下载为什么会让 Nginx 负载升高



如果 Nginx 视频服务已经出现播放卡顿、响应变慢、服务器负载升高,优先查看 CPU 使用率、出口带宽、磁盘 I/O、活跃连接数和错误日志。静态 MP4 大文件下载、HLS 或 DA🌈SH 小切片请求、反向代理直播🎵流,产生高负载的原因并不相同,不能使用同一套配置直接处理。



静态视频文件应优先确认响应头是否支持 Range 请求,并检查播放器是否收到正确的 Content-Length、Content-Range 和 Accept-Ranges。视频文件通常不适合再使用 gzip 压缩,重复压缩会增加 CPU 消耗,却很难带来有效体积下降。



Nginx 反向代理直播流时,连接会长期保持,资源消耗取决于观看人数、上游连接数和下游网络质量。慢客户端会让代理连接持续占用,直播源异常则可能造成大量重连,形成连接数和上游请求同时升高。



nginx100%video100% 对应哪一种资源满载



HLS 切片缓存应按照内容类型设置不同策略。已经生成且不会变化的历史分片可以使用较长缓存时间,正在更新的播放列表需要较短缓存时间,否则播放器可能拿到过期清单或重复请求同一内容。



举报/反馈