TCP連接出現大量TIME_WAIT的解決辦法

? ? ? ? ?一個TCP/IP連接斷開以后,會通過TIME_WAIT的狀態保留一段時間,時間過了才會釋放這個端口,當端口接受的頻繁請求數量過多的時候,就會產生大量的TIME_WAIT狀態的連接,這些連接占著端口,會消耗大量的資源。面對這種情況 可以通過修改TCP/IP的內核參數,來及時的處理這些狀態。
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’
執行該命令如果出現了大量的 TIME_WAIT 連接數目的話,如下:
FIN_WAIT2 50
CLOSING 63
TIME_WAIT 15000
如果是這種情況的話,可以通過一下設置來減緩
我們用vim打開配置文件(打開之前最好先備份一下該文件):

#vim /etc/sysctl.conf

然后,在這個文件中,加入下面的幾行內容:

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30

最后輸入下面的命令,讓內核參數生效:

#/sbin/sysctl -p
簡單的說明下,上面的參數的含義:

net.ipv4.tcp_syncookies = 1 表示開啟SYN Cookies。當出現SYN等待隊列溢出時,啟用cookies來處理,可防范少量SYN攻擊,默認為0,表示關閉;
net.ipv4.tcp_tw_reuse = 1 表示開啟重用。允許將TIME-WAIT sockets重新用于新的TCP連接,默認為0,表示關閉;
net.ipv4.tcp_tw_recycle = 1 表示開啟TCP連接中TIME-WAIT sockets的快速回收,默認為0,表示關閉;
net.ipv4.tcp_fin_timeout 修改系統默認的 TIMEOUT 時間。

在經過這樣的調整之后,除了會進一步提升服務器的負載能力之外,還能夠防御一定程度的DDoS、CC和SYN攻擊,是個一舉兩得的做法。

此外,如果你的連接數本身就很多,我們可以再優化一下TCP/IP的可使用端口范圍,進一步提升服務器的并發能力。依然是往上面的參數文件中,加入下面這些配置:

net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000

這幾個參數,建議只在流量非常大的服務器上開啟,會有顯著的效果。一般的流量小的服務器上,沒有必要去設置這幾個參數。這幾個參數的含義如下:

net.ipv4.tcp_keepalive_time = 1200 表示當keepalive起用的時候,TCP發送keepalive消息的頻度。缺省是2小時,改為20分鐘。
net.ipv4.ip_local_port_range = 10000 65000 表示用于向外連接的端口范圍。缺省情況下很小:32768到61000,改為10000到65000。(注意:這里不要將最低值設的太低,否則可能會占用掉正常的端口!)
net.ipv4.tcp_max_syn_backlog = 8192 表示SYN隊列的長度,默認為1024,加大隊列長度為8192,可以容納更多等待連接的網絡連接數。
net.ipv4.tcp_max_tw_buckets = 5000 表示系統同時保持TIME_WAIT的最大數量,如果超過這個數字,TIME_WAIT將立刻被清除并打印警告信息。默 認為180000,改為5000。對于Apache、Nginx等服務器,上幾行的參數可以很好地減少TIME_WAIT套接字數量,但是對于 Squid,效果卻不大。此項參數可以控制TIME_WAIT的最大數量,避免Squid服務器被大量的TIME_WAIT拖死。



本文轉自birdinroom 51CTO博客,原文鏈接:http://blog.51cto.com/birdinroom/1693449,如需轉載請自行聯系原作者

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/285753.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/285753.shtml
英文地址,請注明出處:http://en.pswp.cn/news/285753.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【ArcGIS風暴】ArcGIS10.6創建LAS數據集的兩種方法并加載點云數據

文章目錄 1. 使用上下文菜單創建 LAS 數據集2. 使用地理處理工具創建 LAS 數據集3. 顯示LAS數據集LAS 數據集是位于文件夾中的獨立文件,并且引用 LAS 格式的激光雷達數據和用于定義表面特征的可選表面約束要素。可使用創建 LAS 數據集工具或 ArcCatalog 中文件夾的上下文菜單快…

關于建立北京市專業技術人員職業資格與職稱對應關系的通知

原文地址 http://www.bjrbj.gov.cn/xxgk/gsgg/201906/t20190605_82857.html 附件 北京市專業技術人員職業資格與職稱對應表 (46項) 一、準入類職業資格 序號 資格名稱 可聘專業技術職務 1 注冊消防工程師 一級注冊消防工程師:工程師 二…

基于.NetCore開發博客項目 StarBlog - (12) Razor頁面動態編譯

系列文章基于.NetCore開發博客項目 StarBlog - (1) 為什么需要自己寫一個博客?基于.NetCore開發博客項目 StarBlog - (2) 環境準備和創建項目基于.NetCore開發博客項目 StarBlog - (3) 模型設計基于.NetCore開發博客項目 StarBlog - (4) markdown博客批量導入基于.N…

C語言試題八十三之輸出左下三角形九九乘法表

??個人主頁:個人主頁 ??系列專欄:C語言試題200例目錄 ??推薦一款刷算法、筆試、面經、拿大公司offer神器 ?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 輸出左下三…

Android SDK目錄結構

1、add-ons這里面保存著附加庫,比如GoogleMaps,當然你如果安裝了OphoneSDK,這里也會有一些類庫在里面。 2、docs這里面是Android的幫助文檔,Android開發所有API都在里面。 3、platforms是每個平臺的SDK真正的文件,里面…

【Pix4d精品教程】Pix4d項目空三結果精度評估完整解決方案

《無人機航空攝影測量精品教程》合集目錄(Pix4d、CC、EPS、PhotoScan、Inpho) 文章目錄 一、單體項目評估二、整體項目評估在航測項目內業工作中,不管是垂直攝影,還是傾斜攝影,最核心的部分是空三加密,一個很重要的基礎是共線方程。空三結果的精度是航測的基本要求,也會…

2016 10 26考試 NOIP模擬賽 雜題

Time 7&#xff1a;50 AM -> 11&#xff1a;15 AM 感覺今天考完后&#xff0c;我的內心是崩潰的 試題考試包 T1&#xff1a; 首先看起來是個貪心&#xff0c;然而&#xff0c;然而&#xff0c;看到那個100%數據為n < 2000整個人就虛了&#xff0c;發呆接近兩小時后意識到…

2016 CCPC 杭州

A - ArcSofts Office Rearrangement 均分石子。 好像怎么分答案都一樣&#xff0c;于是模擬一遍。 #include <bits/stdc.h>using namespace std; typedef long long ll;template<typename T> inline void read(T &x){ x0;T f1;char ch;do{chgetchar();if(ch-)f…

[轉]RxHttp 一條鏈發送請求,新一代Http請求神器(一)

簡介 RxHttp是基于OkHttp的二次封裝&#xff0c;并于RxJava做到無縫銜接&#xff0c;一條鏈就能發送一個完整的請求。主要功能如下&#xff1a; 支持Get、Post、Put、Delete等任意請求方式&#xff0c;可自定義請求方式支持Json、DOM等任意數據解析方式&#xff0c;可自定義數據…

【Pix4d精品教程】Pix4d空三后處理:點云分類與過濾、DSM精編生成DEM、生成等高線案例詳解

《無人機航空攝影測量精品教程》合集目錄(Pix4d、CC、EPS、PhotoScan、Inpho) DEM結果預覽: 等高線結果預覽: Pix4d內業空三結束后,會生成點云,DOM和DSM等產品,一般情況下,DOM精度不達標(如房屋邊緣有噪點)的話,可以直接在鑲嵌圖編輯器進行DOM的編輯,然而后處理的…

如何更好地組織最小 WEB API 代碼結構

前言我們在《.NET 6新特性試用》中講過&#xff0c;隨著項目需求和復雜性的增加&#xff0c;單個文件的最小 WEB API 會變得非常臃腫。而且&#xff0c;Program.cs 應該只放啟動和初始化代碼。不應該包含太多 MapXXX 方法。那么&#xff0c;如何以更好的方式組織最小 WEB API 代…

C語言試題八十四之求空間兩點之間的距離

??個人主頁:個人主頁 ??系列專欄:C語言試題200例目錄 ??推薦一款刷算法、筆試、面經、拿大公司offer神器 ?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 定義一個表…

git分支進階

其實git除了版本控制&#xff0c;另外一個最突出的特點就是他的分支操作。簡直 絲滑~.git也是多人協作的必備武器。 通常我們正常情況下只需要master 和 develop分支就夠了。 這里我們先以這兩條分支作為基準&#xff0c;進行一系列的操作。 開發新功能流程 這個應該屬于develo…

關于c# .net爬蟲

剛開始聽到爬蟲這兩個字眼的時候感覺挺稀奇的&#xff0c;之前并沒有接觸過爬蟲&#xff0c;正好這會手上沒事&#xff0c;于是便百度了一下。 1.網絡爬蟲&#xff08;又被稱為網頁蜘蛛&#xff0c;網絡機器人&#xff0c;在FOAF社區中間&#xff0c;更經常的稱為網頁追逐者&am…

Google 的 Java 編碼規范,參考學習!

目錄 01 術語說明和指南說明 02 源文件基礎 2.1 文件名 2.2 文件編碼&#xff1a;UTF-8 2.3 特殊字符 03 源文件結構 3.1 許可證或版權信息 3.2 package語句 3.3 import語句 3.4 類聲明 04 格式 4.1 大括號 4.3 一行一個語句 4.4 列限制&#xff1a;80 或 100 4…

MySQL Schema與數據類型的優化

選擇優化的數據類型&#xff1a; 1、 更小的通常更好&#xff1a; 一般情況下&#xff0c;應該盡量使用可以正確存儲數據的最小數據類型。更小的數據類型通常更快&#xff0c;因為他們占用更少的磁盤&#xff0c;內存和cpu緩存&#xff0c;并且處理時需要的cpu周期也更少。 2、…

【Pix4d精品教程】Pix4d中央子午線細化設置(測區跨兩個分帶)

《無人機航空攝影測量精品教程》合集目錄(Pix4d、CC、EPS、PhotoScan、Inpho) 航測內業中,在自由空三結束之后,需要導入像控點,進而去刺像控點。但是當測區跨兩個分帶的時候(如測區正好處在3度帶105和108中間),像控點可能距離靶標點很遠,給刺點帶來了很大難度。怎樣解…

Failed:(13: Permission denied)導致訪問瀏覽器出現Nginx 500 Internal Server Error

1 、問題 我在部署nginx反向代理服務器的時候&#xff0c;nginx.conf文件都配置好了&#xff0c;但是我在瀏覽器里面輸入域名的時候&#xff0c;提示Nginx 500 Internal Server Error 2、分析 我們需要找到nginx輸出錯誤日志的文件&#xff0c;在nginx.conf里面我們可以看到錯…

MAUI與Blazor共享一套UI,媲美Flutter,實現Windows、macOS、Android、iOS、Web通用UI

1. 前言距離上次發《MAUI初體驗&#xff1a;爽》一文已經過去2個月了&#xff0c;本計劃是下半年或者明年再研究MAUI的&#xff0c;現在計劃提前啦&#xff0c;因為我覺得MAUI Blazor挺有意思的&#xff1a;在Android、iOS、macOS、Windows之間共享UI&#xff0c;一處UI增加或者…

dns 報文格式

最近學習了下DNS的格式&#xff0c;發現很多內容都是轉載自同一個而且說的不是很清楚&#xff0c;特再整理下具體可以查看RFC1035 http://www.ietf.org/rfc/rfc1035.txt有詳細的解釋對于英語理解不是很好和懶得看這么長的可以看下本文首先是DNS數據幀的格式-------------------…