淺談linux效能調優之十五:常見網路參數整理 淺談linux效能調優之十四:調節socket緩衝區http://www.bkjia.com/os/201307/230154.html 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 = 1SYN 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以消除安全性隱患。