網絡優化參數

網絡優化參數:緩存

net.ipv4.tcp_max_tw_buckets
timewait的數量,默認爲8192;安全

net.ipv4.ip_local_port_range = 1024 65000
容許系統打開的端口範圍,前而爲下限,後面的數字爲上限;默認爲「32768 61000」;
注意:此可用範圍決定了最後timewait狀態的鏈接的數量;下面的兩項可有效下降tw狀態鏈接的數量;服務器

net.ipv4.tcp_tw_recycle = {0|1}
是否啓用timewait快速回收;注意:開啓此功能在NAT環境下可能會出現嚴重的問題:由於TCP有一種行爲,它能夠緩存每一個鏈接最新的時間戳,後續請求中若是時間戳小於緩存中的時間戳,即被視爲無效並丟棄相應的請求報文;Linux是否啓用這種行爲取決於tcp_timestamp和tcp_tw_recycle,而前一個參數默認是啓用的,因此啓用後面的參數就會激活此功能;
所以,若是是NAT環境,安全起見,應該禁用tcp_tw_recycle。另外一種解決方案:把tcp_timestamps設置爲0,tcp_tw_recycle設置爲1並不會如想象中奏效,由於一旦關閉了tcp_timestamps,那麼即使打開了tcp_tw_recycle,後面的參數也沒有效果。此時下降net.ipv4.tcp_max_tw_buckets的值就能夠顯著下降tw鏈接的數量了。cookie


net.ipv4.tcp_tw_reuse = {0|1}
是否開啓tw重用,便是否容許將TIME-WAIT sockets 用於新的TCP鏈接;網絡

net.ipv4.tcp_syncookies = {0|1}
是否開啓SYN Cookies,即當SYN等待隊列溢出時,是否啓用cookies功能;socket

net.ipv4.tcp_timestamps = 0
tcp報文時間戳,關閉時能夠避免序列號的卷繞,如上所述;tcp


net.ipv4.tcp_max_syn_backlog = 262144
保存的那些還沒有收到客戶端確認信息的鏈接請求的最大值;默認爲128,可增大此值;優化


net.ipv4.tcp_synack_retries = #
爲了打開對端的鏈接,內核須要發送一個SYN並附帶一個迴應前面一個SYN的ACK,這也即所謂的三次握手中的第二次;這個設置決定了內核放棄鏈接以前發送SYN+ACK 包的數量;繁忙的服務器上建議設置爲0或者1;隊列

net.ipv4.tcp_syn_retries = #
在內核放棄創建鏈接以前發送SYN包的數量;繁忙的服務器上建議設置爲0或者1;ip

net.ipv4.tcp_max_orphans = 262144
系統中最多有多少個TCP套接字不被關聯到任何一個用戶文件句柄上;若是超過這個數字,孤兒鏈接將即刻被複位並打印出警告信息;
這個限制僅僅是爲了防止簡單的DoS 攻擊,不能過度依靠它或者人爲地減少這個值,若是須要修改,在確保有足夠內存可用的前提下,應該增大此值;


net.ipv4.tcp_fin_timeout = 5
若是套接字由本端要求關閉,這個參數決定了它保持在FIN-WAIT-2狀態的時間;缺省值是60秒。
然而,對端可能會出錯或意外宕機並永遠不關閉鏈接。即便你的機器是一個輕載的WEB 服務器,也有由於大量的死套接字而內存溢出的風險,FIN-WAIT-2 的危險性比FIN-WAIT-1要小,由於每一個鏈接最多隻能消耗1.5K內存,可是它們的生存期長些;

net.ipv4.tcp_keepalive_time = 30
當keepalive起用的時候,TCP發送keepalive消息的頻度,默認是是2小時;

net.core.rmem_max=8388608
定義內核用於全部類型的鏈接的最大接收緩衝大小;

net.core.rmem_default=65536
定義內核用於全部類型的鏈接的默認接收緩衝大小;

net.core.wmem_max=8388608
定義內核用於全部類型的鏈接的最大發送緩衝大小;

net.core.wmem_default=65536
定義內核用於全部類型的鏈接的默認發送緩衝大小;

net.ipv4.tcp_mem='8388608 8388608 8388608'
定義TCP協議棧使用的內存空間;分別爲最小值,默認值和最大值;

net.ipv4.tcp_rmem='4096 87380 8388608'
定義TCP協議棧用於接收緩衝的內存空間;第一個值爲最小值,即使當前主機內存空間吃緊,也得保證tcp協議棧至少有此大小的空間可用;第二個值爲默認值,它會覆蓋net.core.rmem_default中爲全部協議定義的接收緩衝的大小;第三值爲最大值,即能用於tcp接收緩衝的最大內存空間;

net.ipv4.tcp_wmem='4096 65536 8388608' 定義TCP協議棧用於發送緩衝的內存空間;

相關文章
相關標籤/搜索