Linux核心優化之TCP相關引數
tcp_syn_retries:INTEGER
預設值是5
對於一個新建連線,核心要傳送多少個SYN連線請求才決定放棄。不應該大於255,預設值是5,對應於180秒左右時間。(對於大負載而物理通訊良好的網路而言,這個值偏高,可修改為2.這個值僅僅是針對對外的連線,對進來的連線,是由tcp_retries1決定的)
tcp_synack_retries:INTEGER
預設值是5
對於遠端的連線請求SYN,核心會傳送SYN+ACK資料包,以確認收到上一個SYN連線請求包。這是所謂的三次握手(threeway
handshake)機制的第二個步驟。這裡決定核心在放棄連線之前所送出的SYN+ACK數目。不應該大於255,預設值是5,對應於180秒左右時間。(可以根據上面的tcp_syn_retries來決定這個值)
tcp_keepalive_time:INTEGER
預設值是7200(2小時)
當keepalive開啟的情況下,TCP傳送keepalive訊息的頻率。(由於目前網路攻擊等因素,造成了利用這個進行的攻擊很頻繁,曾經也有cu的朋友提到過,說如果2邊建立了連線,然後不傳送任何資料或者rst/fin訊息,那麼持續的時間是不是就是2小時,空連線攻擊?tcp_keepalive_time就是預防此情形的.我個人在做nat服務的時候的修改值為1800秒)
tcp_keepalive_probes:INTEGER
預設值是9
TCP傳送keepalive探測以確定該連線已經斷開的次數。(注意:保持連線僅在SO_KEEPALIVE套接字選項被開啟是才傳送.次數預設不需要修改,當然根據情形也可以適當地縮短此值.設定為5比較合適)
tcp_keepalive_intvl:INTEGER
預設值為75
探測訊息傳送的頻率,乘以tcp_keepalive_probes就得到對於從開始探測以來沒有響應的連線殺除的時間。預設值為75秒,也就是沒有活動的連線將在大約11分鐘以後將被丟棄。(對於普通應用來說,這個值有一些偏大,可以根據需要改小.特別是web類伺服器需要改小該值,15是個比較合適的值)
tcp_retries1:INTEGER
預設值是3
放棄回應一個TCP連線請求前﹐需要進行多少次重試。RFC規定最低的數值是3﹐這也是預設值﹐根據RTO的值大約在3秒-8分鐘之間。(注意:這個值同時還決定進入的syn連線)
tcp_retries2:INTEGER
預設值為15
在丟棄啟用(已建立通訊狀況)的TCP連線之前﹐需要進行多少次重試。預設值為15,根據RTO的值來決定,相當於13-30分鐘(RFC1122規定,必須大於100秒).(這個值根據目前的網路設定,可以適當地改小,我的網路內修改為了5)
tcp_orphan_retries:INTEGER
預設值是7
在近端丟棄TCP連線之前﹐要進行多少次重試。預設值是7個﹐相當於50秒-16分鐘﹐視RTO而定。如果您的系統是負載很大的web伺服器﹐那麼也許需要降低該值﹐這類sockets可能會耗費大量的資源。另外參的考tcp_max_orphans。(事實上做NAT的時候,降低該值也是好處顯著的,我本人的網路環境中降低該值為3)
tcp_fin_timeout:INTEGER
預設值是60
對於本端斷開的socket連線,TCP保持在FIN-WAIT-2狀態的時間。對方可能會斷開連線或一直不結束連線或不可預料的程式死亡。預設值為60秒。過去在2.2版本的核心中是180秒。您可以設定該值﹐但需要注意﹐如果您的機器為負載很重的web伺服器﹐您可能要冒記憶體被大量無效資料包填滿的風險﹐FIN-WAIT-2sockets
的危險性低於FIN-WAIT-1﹐因為它們最多隻吃1.5K的記憶體﹐但是它們存在時間更長。另外參考tcp_max_orphans。(事實上做NAT的時候,降低該值也是好處顯著的,我本人的網路環境中降低該值為30)
tcp_max_tw_buckets:INTEGER
預設值是180000
系統在同時所處理的最大timewaitsockets
數目。如果超過此數的話﹐time-waitsocket
會被立即砍除並且顯示警告資訊。之所以要設定這個限制﹐純粹為了抵禦那些簡單的DoS攻擊﹐千萬不要人為的降低這個限制﹐不過﹐如果網路條件需要比預設值更多﹐則可以提高它(或許還要增加記憶體)。(事實上做NAT的時候最好可以適當地增加該值)
tcp_tw_recycle:BOOLEAN
預設值是0
開啟快速TIME-WAITsockets
回收。除非得到技術專家的建議或要求﹐請不要隨意修改這個值。(做NAT的時候,建議開啟它)
tcp_tw_reuse:BOOLEAN
預設值是0
該檔案表示是否允許重新應用處於TIME-WAIT狀態的socket用於新的TCP連線(這個對快速重啟動某些服務,而啟動後提示埠已經被使用的情形非常有幫助)
tcp_max_orphans:INTEGER
預設值是8192
系統所能處理不屬於任何程式的TCPsockets
相關文章
- oracle相關的linux核心引數OracleLinux
- Linux 核心引數優化(for oracle)Linux優化Oracle
- Linux 核心引數 和 Oracle相關引數調整LinuxOracle
- Linux 核心引數及Oracle相關引數調整LinuxOracle
- (轉)Linux 核心引數及Oracle相關引數調整LinuxOracle
- linux核心引數優化重要項Linux優化
- linux 跟oracle相關的系統核心引數?LinuxOracle
- Oracle查詢優化器的相關引數Oracle優化
- Oracle優化相關的一些引數Oracle優化
- Linux核心引數調優Linux
- Linux核心引數(如kernel.shmmax)及Oracle相關引數調整LinuxHMMOracle
- 實用TCP協議(2):TCP 引數優化TCP協議優化
- 與oracle緊密相關的unix/linux核心引數OracleLinux
- swoole優化核心引數調整優化
- 網路優化之net.ipv4.tcp_tw_recycle引數優化TCP
- Linux系統優化部分核心引數調優中文註釋Linux優化
- 【調優篇基本原理】優化器相關引數配置優化
- oracle sga配置相關的os 核心引數Oracle
- 高效能Linux:TCP/IP核心引數調優之TCP視窗擴大因子(TCP Window Scaling)選項(理論篇)LinuxTCP
- 優化Linux核心引數提高伺服器負載能力優化Linux伺服器負載
- Linux核心調優部分引數說明Linux
- linux核心引數最佳化(七)Linux
- linux核心引數最佳化1Linux
- redis持久化相關引數解釋Redis持久化
- Linux核心引數(如kernel.shmmax)及Oracle相關引數調整(如SGA_MAX_SIZE)LinuxHMMOracle
- MySQL 效能優化之快取引數優化MySql優化快取
- oracle 記憶體引數調整優化相關傾力整理Oracle記憶體優化
- Linux系統中與記憶體相關的幾個核心引數Linux記憶體
- Oracle安裝相關Linux引數(轉)OracleLinux
- linux的vm相關引數介紹Linux
- 【轉】Oracle安裝相關Linux引數OracleLinux
- linux 核心引數Linux
- Linux核心引數Linux
- Linux 核心相關命令Linux
- SQL Server SQL效能優化之引數化SQLServer優化
- hadoop之 YARN配置引數剖析—RM與NM相關引數HadoopYarn
- 0503linux核心網路引數測試tcp_keepaliveLinuxTCP
- Linux常用的一些核心引數(調優)Linux