主要是指在Linux系統中針對服務應用而進行的系統內核參數調整,優化沒有的標准,
根據實際需求優化才是最合適的。
1)編輯內核配置文件
2)參數及簡單說明
net.ipv4.tcp_fin_timeout = 2 #保持在FIN-WAIT-2狀態的時間,使系統可以處理更多的連接。此參數值為整數,單位為秒。
net.ipv4.tcp_tw_reuse = 1 #開啟重用,允許將TIME_WAIT socket用於新的TCP連接。默認為0,表示關閉。
net.ipv4.tcp_tw_recycle = 1 #開啟TCP連接中TIME_WAIT socket的快速回收。默認值為0,表示關閉。
net.ipv4.tcp_syncookies = 1 #開啟SYN cookie,出現SYN等待隊列溢出時啟用cookie處理,防范少量的SYN攻擊。默認為0,表示關閉。
net.ipv4.tcp_keepalive_time = 600 #keepalived啟用時TCP發送keepalived消息的拼度。默認位2小時。
net.ipv4.tcp_keepalive_probes = 5 #TCP發送keepalive探測以確定該連接已經斷開的次數。根據情形也可以適當地縮短此值。
net.ipv4.tcp_keepalive_intvl = 15 #探測消息發送的頻率,乘以tcp_keepalive_probes就得到對於從開始探測以來沒有響應的連接殺除的時間。默認值為75秒,也就是沒有活動的連接將在大約11分鍾以后將被丟棄。對於普通應用來說,這個值有一些偏大,可以根據需要改小.特別是web類服務器需要改小該值。
net.ipv4.ip_local_port_range = 1024 65000 #指定外部連接的端口范圍。默認值為32768 61000。
net.ipv4.tcp_max_syn_backlog = 262144 #表示SYN隊列的長度,預設為1024,這里設置隊列長度為262 144,以容納更多的等待連接。
net.ipv4.tcp_max_tw_buckets =5000 #系統同時保持TIME_WAIT套接字的最大數量,如果超過這個數值將立刻被清楚並輸出警告信息。默認值為180000。對於squid來說效果不是很大,但可以控制TIME_WAIT套接字最大值,避免squid服務器被拖死。
net.ipv4.tcp_syn_retries = 1 #表示在內核放棄建立連接之前發送SYN包的數量。
net.ipv4.tcp_synack_retries = 1 #設置內核放棄連接之前發送SYN+ACK包的數量。
net.core.somaxconn = 16384 #定義了系統中每一個端口最大的監聽隊列的長度, 對於一個經常處理新連接的高負載 web服務環境來說,默認值為128,偏小。
net.core.netdev_max_backlog = 16384 #表示當在每個網絡接口接收數據包的速率比內核處理這些包的速率快時,允許發送到隊列的數據包的最大數量。
net.ipv4.tcp_max_orphans = 16384 #表示系統中最多有多少TCP套接字不被關聯到任何一個用戶文件句柄上。如果超過這里設置的數字,連接就會復位並輸出警告信息。這個限制僅僅是為了防止簡單的DoS攻擊。此值不能太小。
3)生效配置
出自簡書:https://www.jianshu.com/p/3096a8e6a36f