tft每日頭條

 > 科技

 > 後端服務器超時是怎麼回事

後端服務器超時是怎麼回事

科技 更新时间:2024-12-02 23:51:07

後端服務器超時是怎麼回事? 服務器突然出現大量time_wait(因為大量連接資源被占用後不釋放的話,會導緻網站正常訪問不能響應)如何應對?,現在小編就來說說關于後端服務器超時是怎麼回事?下面内容希望能幫助到你,我們來一起看看吧!

後端服務器超時是怎麼回事(服務器出現大量TIME)1

後端服務器超時是怎麼回事

一 、故障原因:

服務器突然出現大量time_wait(因為大量連接資源被占用後不釋放的話,會導緻網站正常訪問不能響應)。如何應對?

我這邊先檢查了監控和服務器當前的狀态(time_wait連接确實異常):

1、監控

2、登錄服務器檢查

二、排查思路:

1、猜測是否因為程序打開大量文件句柄,沒有關閉導緻。(問了研發同事,排查過後沒有這種情況)

2、調大當前文件句柄

3、調優sysctl.conf文件

4、檢查nginx連接情況

三、解決方法:

1、操作系統文件句柄之前已經調整過。

echo "ulimit -SHn 66536" >>/etc/rc.local

2、調優/etc/sysctl.conf

net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse=1 #讓TIME_WAIT狀态可以重用,這樣即使TIME_WAIT占滿了所有端口,也不會拒絕新的請求造成障礙 默認是0 net.ipv4.tcp_tw_recycle=1 #讓TIME_WAIT盡快回收 默認0 net.ipv4.tcp_fin_timeout=30 sysctl -p

3、調整nginx 配置文件(最優方法)

upstream http_backend { server 127.0.0.1:8080; keepalive 16; } server { ... location /http/ { proxy_pass http://http_backend; proxy_http_version 1.1; proxy_set_header Connection ""; ... } }

總結:

由于nginx 在反向代理http協議的時候,默認采用的http1.0.

HTTP1.0的特點:不支持長連接(http keep-alive).CLOSE通知後端服務器主動關閉連接。會導緻任何一個客戶端的請求都在後端服務器上産生了一個TIME-WAIT狀态連接

HTTP1.1的特點:支持長連接。

關鍵配置參數:keep-alive 16; proxy_http_vesion 1.1; proxy_set_header Connection "";

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved