淺談linux性能調優之十五:常見網絡參數整理

1.tcp鏈接保持管理:
net.ipv4.tcp_keepalive_time = 7200
若是在該參數指定時間內某條鏈接處於空閒狀態,則內核向遠程主機發起探測
net.ipv4.tcp_keepalive_intvl = 75
內核向遠程主機發送的保活探測的時間間隔
net.ipv4.tcp_keepalive_probes = 9
內核發送保活探測的最大次數,若是探測次數大於這個數,則判定遠程主機不可達,則關閉該鏈接並釋放本地資源
  一個鏈接7200s空閒後,內核會每隔75秒去重試,若連續9次則放棄。這樣就致使一個鏈接通過2h11min的時間才能被丟棄,下降該值可以儘可能減少
失效鏈接所佔用的資源,而被新的鏈接所使用。


2.tcp鏈接管理:
net.core.netdev_max_backlog=3000
    該文件表示在每一個網絡接口接收數據包的速率比內核處理這些包的速率快時,容許送到隊列的數據包的最大數目。
net.ipv4.tcp_max_syn_backlog = 1024
控制每一個端口的tcp syn的隊列長度,來自客戶端的鏈接請求須要排隊,直至服務器接受,若是鏈接請求數大於該值,則鏈接請求會被丟棄,客戶端沒法
鏈接服務器,通常服務器要提升此值
net.ipv4.tcp_synack_retries = 5
控制內核向某個socket的ack,syn段從新發送響應的次數,下降此值能夠儘早檢測到來自遠程主機的鏈接失敗嘗試
net.ipv4.tcp_retries2 = 15
控制內核向已創建鏈接的遠程主機從新發送數據的次數,下降此值,能夠儘早的檢測鏈接失效

3.net.ipv4.tcp_syncookies = 1
SYN Cookie是對TCP服務器端的三次握手協議做一些修改,專門用來防範SYN Flood攻擊的一種手段。它的原理是,在TCP服務器收到TCP SYN包並返回TCP SYN+ACK包時,不分配一個專門的數據區,而是根據這個SYN包計算出一個cookie值。在收到TCP ACK包時,TCP服務器在根據那個cookie值檢查這個TCP ACK包的合法性。若是合法,再分配專門的數據區進行處理將來的TCP鏈接。


4.net.ipv4.tcp_tw_reuse = 1
表示開啓重用。容許將TIME-WAIT sockets從新用於新的TCP鏈接,默認爲0
  net.ipv4.tcp_tw_recycle = 1                    
表示開啓TCP鏈接中TIME-WAIT sockets的快速回收,默認爲0

5.net.ipv4.tcp_fin_timeout = 60
縮短默認的timeout的時間

6. /proc/sys/net/ipv4/conf/*/accept_redirects
   若是主機所在的網段中有兩個路由器,你將其中一個設置成了缺省網關,可是該網關在收到你的ip包時發現該ip包必須通過另一個路由器,這時這個路由器就會給你
發一個所謂的「重定向」icmp包,告訴將ip包轉發到另一個路由器。參數值爲布爾值,1表示接收這類重定向icmp 信息,0表示忽略。在充當路由器的linux主機上缺
省值爲0,在通常的linux主機上缺省值爲1。建議將其改成0以消除安全性隱患。
相關文章
相關標籤/搜索