Nginx静态资源优化配置之tcp_nopush和tcp_nodelay
(2)tcp_nopush:該指令必須在sendfile打開的狀態(tài)下才會生效,主要是用來提升網(wǎng)絡(luò)包的傳輸'效率'
?
| 默認值 | tcp_nopush o?; |
| 位置 | http、server、location |
(3)tcp_nodelay:該指令必須在keep-alive連接開啟的情況下才生效,來提高網(wǎng)絡(luò)包傳輸?shù)?#39;實時性'
| 默認值 | tcp_nodelay on; |
| 位置 | http、server、location |
經(jīng)過剛才的分析,"tcp_nopush"和”tcp_nodelay“看起來是"互斥的",那么為什么要將這兩個值都打開,這個大家需要知道的是在linux2.5.9以后的版本中兩者是可以兼容的,三個指令都開啟的好處是,sendfile可以開啟高效的文件傳輸模式,tcp_nopush開啟可以確保在發(fā)送到客戶端之前數(shù)據(jù)包已經(jīng)充分“填滿”, 這大大減少了網(wǎng)絡(luò)開銷,并加快了文件發(fā)送的速度。 然后,當它到達最后一個可能因為沒有“填滿”而暫停的數(shù)據(jù)包時,Nginx會忽略tcp_nopush參數(shù), 然后,tcp_nodelay強制套接字發(fā)送數(shù)據(jù)。由此可知,TCP_NOPUSH可以與TCP_NODELAY一起設(shè)置,它比單獨配置TCP_NODELAY具有更強的性能。所以我們可以使用如下配置來優(yōu)化Nginx靜態(tài)資源的處理
sendfile on; tcp_nopush on; tcp_nodelay on;總結(jié)
以上是生活随笔為你收集整理的Nginx静态资源优化配置之tcp_nopush和tcp_nodelay的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nginx静态资源优化配置之sendfi
- 下一篇: Nginx的Gzip模块配置指令(一)