亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決Nginx Buffer機制引發的下載故障

發布時間:2021-10-14 14:52:03 來源:億速云 閱讀:199 作者:iii 欄目:編程語言

本篇內容介紹了“如何解決Nginx Buffer機制引發的下載故障”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

Nginx Buffer 機制

在 Nginx 代理過程中,有兩種連接:

1.客戶端到 Nginx 的連接2.Nginx 到后端服務器的連接

這兩個連接的速度不一致,會對客戶端的體驗帶來不良的影響。Nginx 正是通過 Buffer 機制來緩解這個問題。

當啟用 buffer 時,Nginx 將會臨時存儲后端響應內容在內存或者磁盤上,然后慢慢把數據推送給客戶端;若關閉,則會按照響應內容的多少立刻同步到客戶端。

假設客戶端的速度足夠快,那么完全可以把 buffer 關掉,讓數據盡可能快速到達;如果客戶端很慢,就應該保持 buffer 開啟,這樣有利于 Nginx 和后端的連接復用(本質上是 HTTP 隊頭阻塞問題)。

大文件下載問題

Nginx Buffer 機制默認處于開啟狀態,其會根據 proxy_buffer_size 和 proxy_buffers 這兩個參數控制寫入內存的大小。如果響應大于這個 buffer 大小,Nginx 會繼續通過 proxy_max_temp_file_size 參數將響應其余部分寫入到磁盤臨時文件。

那么問題來了,如果響應還是很大,超過了臨時文件的限額怎么辦?

等! 此時,Nginx 的 socket 緩沖區也是出于滿載狀態。由于客戶端很慢,Nginx 并沒有觸發 read 后端操作。這里大概率會觸發后端服務器的 write 超時,進而由后端發起 close 操作。

這就是我遇到的問題:proxy_max_temp_file_size 默認為 1G,當客戶端的網絡比較慢時,臨時文件很快就被寫滿。這時候后端的響應還會繼續被接收到 socket 緩沖區,直到緩沖區被打滿。此時,Nginx 所在服務器通過滑動窗口 zero 0 告知后端服務器停止發送數據,直至觸發了后端的 write 超時。

如何解決Nginx Buffer機制引發的下載故障

而當客戶端的網絡比較快時,臨時文件并不會被寫滿,或者即使寫滿了也很快就會消費掉,不至于讓后端“阻塞”過長時間觸發超時。

如何解決?

1.調整 proxy_max_temp_file_size 大小?調大    讓臨時文件足夠可以緩沖整個響應?調小    讓整個鏈路上的數據流動起來,不要阻塞后端的 write 操作,進而觸發后端的超時2.關閉 Buffer     不推薦,會影響 Nginx 到后端的連接復用

“如何解決Nginx Buffer機制引發的下載故障”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

株洲市| 太仆寺旗| 鄂尔多斯市| 许昌县| 怀宁县| 宿州市| 松阳县| 阿拉善右旗| 浑源县| 宽甸| 红安县| 鄂伦春自治旗| 芷江| 铁岭市| 甘谷县| 宿迁市| 娄底市| 河东区| 驻马店市| 彰化县| 阿尔山市| 建湖县| 海南省| 阿坝| 台中市| 光山县| 潞城市| 乌兰县| 武川县| 临汾市| 容城县| 襄垣县| 仲巴县| 凯里市| 常宁市| 镇赉县| 潜山县| 陇西县| 山东省| 崇礼县| 枣庄市|