网站首页 > 技术教程 正文
tcp_nopush:该指令必须在sendfile打开的状态下才会生效,主要 是用来提升网络包的传输'效率'
这个值在默认的情况下是出于关闭状态的
tcp_nodelay:该指令必须在keep-alive连接开启的情况下才生 效,来提高网络包传输的'实时性,它默认是出于开启状态的
Ngnix在发送数据的时候,如果是有数据就发,这种方式实时性是非常好的,但实际上数据请求的时候发送的是TCP协议的数据,里面会添加一些寻址的数据,也许只有1%是自己的数据,造成了实时性高,但是效率低下的缺点
而另一种方式是构建一个缓存区,然后将数据装到里面,数据满的时候整体去发,它最大的好处是传输效率高一些,但是实时性差一点
tcp_nodelay是实时性的写法和tcp_nopush是设置缓存区的写法
三个指令都打开的写法:
经过刚才的分析,"tcp_nopush"和”tcp_nodelay“看起来是"互斥的",那 么为什么要将这两个值都打开,这个大家需要知道的是在linux2.5.9以后 的版本中两者是可以兼容的,三个指令都开启的好处是,sendfile可以 开启高效的文件传输模式,tcp_nopush开启可以确保在发送到客户端之 前数据包已经充分“填满”, 这大大减少了网络开销,并加快了文件发送 的速度。 然后,当它到达最后一个可能因为没有“填满”而暂停的数据包 时,Nginx会忽略tcp_nopush参数, 然后,tcp_nodelay强制套接字发 送数据。由此可知,TCP_NOPUSH可以与TCP_NODELAY一起设置,它 比单独配置TCP_NODELAY具有更强的性能。所以我们可以使用如下配 置来优化Nginx静态资源的处理
sendfile on;
tcp_nopush on;
tcp_nodelay on;
猜你喜欢
- 2024-10-11 php手把手教你做网站(二十三)tp6 php8伪静态规则
- 2024-09-16 ThinkPHP在不同系统下的伪静态规则汇总
- 2024-09-16 使用Docker搭建nginx静态资源服务1
- 2024-09-16 nginx代理静态资源(nginx 静态资源访问控制)
- 2024-09-16 在Docker容器中部署静态网站—Nginx部署的详细流程介绍
- 2024-09-16 Chevereto 图床系统的 Nginx 伪静态 Rewrite 规则
你 发表评论:
欢迎- 最近发表
-
- Linux新手必看:几种方法帮你查看CPU核心数量
- linux基础命令之lscpu命令(linux中ls命令的用法)
- Linux lscpu 命令使用详解(linux常用ls命令)
- 如何查询 Linux 中 CPU 的数量?这几个命令要知道!
- 在linux上怎么查看cpu信息(linux如何查看cpu信息)
- 查看 CPU 的命令和磁盘 IO 的命令
- 如何在CentOS7上改变网卡名(centos怎么改网卡名字)
- 网工必备Linux网络管理命令(网工必备linux网络管理命令是什么)
- Linux 网络命令知多少(linux 网络 命令)
- Linux通过命令行连接wifi的方式(linux命令行连接无线网)
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)