[nginx]sendfile + tcp_nopush + tcp_nodelay 开启高效的文件传输模式

NGINX官方文档 sendfile
NGINX官方文档 tcp_nopush
NGINX官方文档 tcp_nodelay
image

image
image

#开启sendfile
sendfile off;
#开启tcp_nopush
tcp_nopush on;
#开启tcp_nodelay
tcp_nodelay on;
  • tcp_nopush会先将数据缓存到缓存区,存满后发送,主要用来提升网络包的传输效率,仅在sendfile开启时有效
  • tcp_nodelay仅在keepalive状态下才能生效,有数据就发送

tcp_nopush和tcp_nodelay看起来是互斥的,一个是缓存后发送,一个是有数据就发送。但是在linux2.5.9以后这两者可以兼容.以下截图自黑马程序员笔记
image

以下是使用sendfile与否的处理流程区别(摘自黑马程序员nginx笔记)
image

作者:javanoob0660

出处:https://www.cnblogs.com/javanoob0660/p/16414608.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   丘丘CRUD  阅读(761)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示