1)編輯核心配置檔案(永久性)
vim /etc/sysctl.con
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)生效配置
sysctl -p
臨時調優可以直接修改對應的引數檔案:
/proc/sys/net/ipv4/*
linux之核心引數調優
調優1 調優2調優3 調優4net.ipv4.tcp syncookies 1 net.ipv4.tcp tw reuse 1 net.ipv4.tcp tw recycle 1 net.ipv4.tcp fin timeout 30 net.ipv4.tcp keepalive time 1200...
linux 核心調優
設定linux核心引數 配置 linux 核心引數 2種方法 修改後不用重啟動更新 sbin sysctl p 第一種 開啟 etc sysctl.conf 複製如下內容 kernel.shmall 2097152 kernel.shmmax 2147483648 kernel.shmmni 409...
Linux核心調優
專案出現socket連線超時和管道斷開連線 檢查nginx,nginx報錯 recv failed 104 connection reset by peer while reading response header from upstrea錯誤日誌表示 1 伺服器的併發連線數超過了其承載量,伺服器...