【Nginx】Nginx 高性能传输三剑客:sendfile、tcp_nopush 与 tcp_nodelay 深度解析
2026/5/23 9:59:08 网站建设 项目流程

Nginx 高性能传输三剑客:sendfile、tcp_nopush 与 tcp_nodelay 深度解析

一句话总结sendfile减少内存拷贝,tcp_nopush合并小包,tcp_nodelay禁用延迟确认——三者协同可让静态文件下载吞吐提升 30%+。但配错组合反而会拖慢 API 响应!本文将从 Linux 内核机制到 Nginx 源码,彻底讲清它们的适用边界。


一、为什么这三个指令如此重要?一个 CDN 节点的性能瓶颈故事

你负责一个全球 CDN 节点,日均服务 10 亿次静态资源请求。监控显示:

  • CPU 使用率高达 70%,主要消耗在memcpy
  • 小文件(<10KB)QPS 上不去,延迟波动大
  • 大文件(>100MB)下载带宽未打满

排查发现:Nginx 默认配置未针对不同场景优化传输策略

sendfiletcp_nopushtcp_nodelay正是解决这些问题的关键开关。它们不是“开就快”,而是需要根据业务类型精准搭配


需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询