NGINX tcp_nopush on;
是 NGINX 配置中tcp_nopush指令的用法。tcp_nopush on;的作用tcp_nopush是 Linux 系统下的 TCP 选项TCP_CORK在 NGINX 中配合sendfile使用表格配置组合效果sendfile on;tcp_nopush on;开启 sendfile 后数据不会立即发送而是累积到一个完整的数据包后再发送减少网络包数量sendfile on;tcp_nopush off;每产生一点数据就立即发送可能产生大量小数据包典型配置场景nginxhttp { sendfile on; # 使用内核态零拷贝发送静态文件 tcp_nopush on; # 防止 sendfile 产生大量小数据包 tcp_nodelay on; # 对动态内容/实时数据立即发送与 tcp_nopush 不冲突 # 静态文件服务 server { location /static/ { # 这里 sendfile tcp_nopush 配合效果最好 } } }工作原理plaintcp_nopush on 时 数据 ──→ 缓冲区累积 ──→ 凑满一个 MSS (最大报文段) ──→ 一次性发送 减少包头开销提高吞吐量 tcp_nopush off 时 数据 ──→ 立即发送 ──→ 可能产生大量小包 ──→ 网络效率低注意事项仅对sendfile on有效如果sendfile offtcp_nopush无实际作用与tcp_nodelay共存两者不冲突。tcp_nopush用于静态文件传输优化tcp_nodelay用于动态内容/实时连接如 WebSocket确保低延迟默认关闭需要显式开启你的配置tcp_nopush on;是推荐的标准做法特别是在高并发静态文件服务场景下。

相关新闻

最新新闻

日新闻

周新闻

月新闻