日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java web tcp长连接超时时间_常用java web容器http长连接超时设置

發布時間:2025/3/8 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java web tcp长连接超时时间_常用java web容器http长连接超时设置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.http長連接相關知識

http長連接對我們來說并不陌生,但長連接并不是永遠不會關閉。對于HTTP長連接需要注意下面幾點:keepalive_timeout指的是web服務器發送完最后一個響應報文后,開始計時,如果在keepalive_timeout指定的時間內還沒有收到該連接上的下次請求,則關閉該連接。

http長連接的keepalive_time和tcp連接的keepalive_timeout不同。

http keep-alive與tcp keep-alive,意圖不一樣。http keep-alive是為了讓tcp活得更久一點,以?便在同一個連接上傳送多個http,提高socket的效率。而tcp keep-alive是TCP的一種檢測TCP連接狀況的保鮮機制。tcp keep-alive保鮮定時器,支持三個系統內核配置參數:echo?1800?>?/proc/sys/net/ipv4/tcp_keepalive_time

echo?15?>?/proc/sys/net/ipv4/tcp_keepalive_intvl

echo?5?>?/proc/sys/net/ipv4/tcp_keepalive_probes

keepalive是TCP保鮮定時器,當網絡兩端建立了TCP連接之后,閑置idle(雙方沒有任何數據流發送往來)了tcp_keepalive_time后,服務器內核就會嘗試向客戶端發送偵測包,來判斷TCP連接狀況(有可能客戶端崩潰、強制關閉了應用、主機不可達等等)。如果沒有收到對方的回答(ack包),則會在 tcp_keepalive_intvl后再次嘗試發送偵測包,直到收到對對方的ack,如果一直沒有收到對方的ack,一共會嘗試 tcp_keepalive_probes次,每次的間隔時間在這里分別是15s, 30s, 45s, 60s, 75s。如果嘗試tcp_keepalive_probes,依然沒有收到對方的ack包,則會丟棄該TCP連接。TCP連接默認閑置時間是2小時,一般設置為30分鐘足夠了。

3.除了內存有關tcpkeepalive的設置外,針對每個tcp連接,也有3個對應的參數,通過setsockopt系統調用針對單獨的socket進行設置:TCPKEEPCNT:?覆蓋?tcpkeepaliveprobes

TCPKEEPIDLE:?覆蓋?tcpkeepalivetime

TCPKEEPINTVL:?覆蓋?tcpkeepalive_intvl

2.常見的java web容器http長連接設置tomcat

2.nginx

nginx 使用指令keepalive_timeout [time]來設置http長連接keepalive_timeout的值,可以在三個地方進行設置,http上下文,server上下文,location上下文。

3.apache

KeepAlive On

KeepAliveTimeout 15

總結

以上是生活随笔為你收集整理的java web tcp长连接超时时间_常用java web容器http长连接超时设置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。