凤凰网
Nginx 访问日志还应重点查看请求路径、状态码、响应字节数和请求耗时。大量相同视频文件✨、相同 IP 高频下载、单个请求持续很久,往往能直接说明是热点下载、盗链还是长连接占用。
HLS 切片缓存应按照内容类型设置不同策略。已经生成且不会变化的历史分片可以使用较长缓存时间,正在更新的播放列表需要较短缓存时间,否则播放器可能拿到过期清单或重复请求同一内容。
直播代理配置应单独检查 proxy_read_timeout、proxy_send_timeout、proxy_buffering 和上游连接池。关闭代理缓冲并不适合所有场景:实时性要☀️求高的直播转发通常需要减少等待,但点播代理更需要合理缓存,避免每次播放都重新读取源站。
nginx100%video100% 不是 Nginx 官方错误码、配置项或标准监控指标,通常表示 Nginx 承载视频文件、直播流或切片请求时,CPU、带宽、磁盘读取、连接数中的一项或多项达到 100%。排查重点不是修改一个名为“video100%”的参数,而是先确认到底是哪类资源耗尽。
静态 MP4 文件由 Nginx 直接发送时,主要压力通常落在网卡和磁盘,而不是视频编码本身。Nginx 不会因为“理解视频内容”而自动完成转码;如果 CPU 明显升高,需要进一步检查 TLS 加密、代理▶️转发、日志、限速模块或异常请求。
Nginx 反向代理直播流时,连接会长期保持,资源消耗取决于观看人数、上游连接数和下游网络质🤔量。慢客户端会让代理连接持续占用,直播源异常则可能造成大量重连,形成连接数和上🍀游请求同时升高。
nginx100%video100% 故障处理应从🌺“确认指标”开始,而不是先复制🤔一份通用 Nginx 配置。下面的顺序适合线上出现视频卡顿、服务器负载突然升高或出口流量异常时使用。
静态视频文件应优先确认响应头是否支持 Range 请求,并检查播放器是否收到正确的 Content-Length、Content-Range 和 Accept-Ranges👍。视频文件通常不适合再使用 gzip 压缩,重复压缩会增加 CPU 消耗,却很难带来有效体积下降。
worker_proce💪sses 通常可以根据 CPU 核数和实际压测结果设置,worker_connections 只代表单个工作进程可管理的连接规模,不等同于可承载的观看人数。文件描述符上限、内核连接队列、带宽上限和上游🎵服务能力同样需要匹配。
当 CPU 不高但带宽达到上限时,增加 worker 进程没有帮助;当带宽充足但磁盘等待很高时,扩容网卡也不🎊能解决问题;当连接数🎇很高而请求耗时异常时,应优先检查慢客户端、超时和上游服务。按照资源瓶颈选择措施,才能把视频分发恢复到可预测状态。