Nginx静态资源优化配置之tcp_nopush和tcp_nodelay
生活随笔
收集整理的這篇文章主要介紹了
Nginx静态资源优化配置之tcp_nopush和tcp_nodelay
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
(2)tcp_nopush:該指令必須在sendfile打開的狀態下才會生效,主要是用來提升網絡包的傳輸'效率'
?
| 默認值 | tcp_nopush o?; |
| 位置 | http、server、location |
(3)tcp_nodelay:該指令必須在keep-alive連接開啟的情況下才生效,來提高網絡包傳輸的'實時性'
| 默認值 | tcp_nodelay on; |
| 位置 | http、server、location |
經過剛才的分析,"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;總結
以上是生活随笔為你收集整理的Nginx静态资源优化配置之tcp_nopush和tcp_nodelay的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nginx静态资源优化配置之sendfi
- 下一篇: Nginx —— 检查配置文件ngi