#最關鍵參數,默認爲5,修改成0 表示不要重發 net.ipv4.tcp_synack_retries = 0 #半鏈接隊列長度 net.ipv4.tcp_max_syn_backlog = 200000 #系統容許的文件句柄的最大數目,由於鏈接須要佔用文件句柄 fs.file-max = 819200 #用來應對突發的大併發connect 請求 net.core.somaxconn = 65536 #最大的TCP 數據接收緩衝(字節) net.core.rmem_max = 1024123000 #最大的TCP 數據發送緩衝(字節) net.core.wmem_max = 16777216 #網絡設備接收數據包的速率比內核處理這些包的速率快時,容許送到隊列的數據包的最大數目 net.core.netdev_max_backlog = 165536 #本機主動鏈接其餘機器時的端口分配範圍 net.ipv4.ip_local_port_range = 10000 65535 # ……省略其它……
注意,如下參數面對外網時,不要打開。由於反作用很明顯,具體緣由請google,若是已打開請顯式改成0,而後執行sysctl -p關閉。由於通過試驗,大量TIME_WAIT狀態的鏈接對系統沒太大影響:cookie
#當出現 半鏈接 隊列溢出時向對方發送syncookies,調大 半鏈接 隊列後不必 net.ipv4.tcp_syncookies = 0 #TIME_WAIT狀態的鏈接重用功能 net.ipv4.tcp_tw_reuse = 0 #時間戳選項,與前面net.ipv4.tcp_tw_reuse參數配合 net.ipv4.tcp_timestamps = 0 #TIME_WAIT狀態的鏈接回收功能 net.ipv4.tcp_tw_recycle = 0 #當出現 半鏈接 隊列溢出時向對方發送syncookies,調大 半鏈接 隊列後不必 net.ipv4.tcp_syncookies = 0 #TIME_WAIT狀態的鏈接重用功能 net.ipv4.tcp_tw_reuse = 0 #時間戳選項,與前面net.ipv4.tcp_tw_reuse參數配合 net.ipv4.tcp_timestamps = 0 #TIME_WAIT狀態的鏈接回收功能 net.ipv4.tcp_tw_recycle = 0
爲了處理大量鏈接,還需改大另外一個參數:網絡
# vi /etc/security/limits.conf
在底下添加一行表示容許每一個用戶都最大可打開409600個文件句柄(包括鏈接):併發
* – nofile 409600