Linux伺服器核心引數優化

2021-09-13 13:17:06 字數 2808 閱讀 7080

kernel optimization

[root@localhost ~]#vim /etc/sysctl.conf

net.ipv4.tcp_fin_timeout = 2

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_keepalive_time = 600

net.ipv4.ip_local_port_range = 4000 65000

net.ipv4.tcp_max_syn_backlog = 16384

net.ipv4.tcp_max_tw_buckets = 36000

net.ipv4.route.gc_timeout = 100

net.ipv4.tcp_syn_retries = 1

net.ipv4.tcp_synack_retries = 1

net.core.somaxconn = 16384

net.core.netdev_max_backlog = 16384

net.ipv4.tcp_max_orphans = 16384

[root@localhost ~]#sysctl -p // 重新整理

sysctl.conf核心檔案中常用引數含義

net.ipv4.tcp_fin_timeout

表示套接字由本端要求關閉,這個引數決定了它保持在fin-wait-2狀態的時間,預設值是60秒。

該引數對應系統路徑為:/proc/sys/net/ipv4/tcp_fin_timeout 60

net.ipv4.tcp_tw_reuse

表示開啟重用。允許將time-wait sockets重新用於新的tcp連線,預設值為0,表示關閉。

該引數對應系統路徑為:/proc/sys/net/ipv4/tcp_tw_reuse 0

net.ipv4.tcp_syncookies

表示開啟syn cookies功能。當出現syn等待佇列溢位時,啟用cookies來處理,可防範少量syn攻擊,這個引數也可以不新增。

該引數對應系統路徑為:/proc/sys/net/ipv4/tcp_syncookies,預設值為1

net.ipv4.tcp_keepalive_time

表示當keepalive啟用時,tcp傳送keepalive訊息的頻度。預設是2小時,建議改為10分鐘。

該引數對應系統路徑為:/proc/sys/net/ipv4/tcp_keepalive_time,預設為7200秒。

net.ipv4.ip_local_port_range

該選項用來設定允許系統開啟的埠範圍,即用於向外連線的埠範圍。

該引數對應系統路徑為:/proc/sys/net/ipv4/ip_local_port_range 32768 61000

net.ipv4.tcp_max_syn_backlog

表示syn佇列的長度,預設為1024,建議加大佇列的長度為8192或更多,這樣可以容納更多等待連線的網路連線數。

該引數為伺服器端用於記錄那些尚未收到客戶端確認資訊的連線請求最大值。

該引數物件系統路徑為:/proc/sys/net/ipv4/tcp_max_syn_backlog

net.ipv4.tcp_max_tw_buckets

表示系統同時保持time_wait套接字的最大數量,如果超過這個數值,time_wait套接字將立刻被清除並列印警告資訊。

預設為180000,對於apache、nginx等伺服器來說可以將其調低一點,如改為5000~30000,不通業務的伺服器也可以給大一點,比如lvs、squid。

此項引數可以控制time_wait套接字的最大數量,避免squid伺服器被大量的time_wait套接字拖死。

該引數對應系統路徑為:/proc/sys/net/ipv4/tcp_max_tw_buckets

net.ipv4.tcp_synack_retries

引數的值決定了核心放棄連線之前傳送syn+ack包的數量。

該引數對應系統路徑為:/proc/sys/net/ipv4/tcp_synack_retries,預設值為5

net.ipv4.tcp_syn_retries

表示在核心放棄建立連線之前傳送syn包的數量。

該引數對應系統路徑為:/proc/sys/net/ipv4/tcp_syn_retries 5

net.ipv4.tcp_max_orphans

用於設定系統中最多有多少個tcp套接字不被關聯到任何乙個使用者檔案控制代碼上。

如果超過這個數值,孤立連線將被立即被復位並列印出警告資訊。

這個限制只有為了防止簡單的dos攻擊。不能過分依靠這個限制甚至認為減少這個值,更多的情況是增加這個值。

該引數對應系統路徑為:/proc/sys/net/ipv4/tcp_max_orphans 65536

net.core.somaxconn

該選項預設值是128,這個引數用於調節系統同時發起的tcp連線數,在高併發的請求中,預設的值可能會導致鏈結超時或重傳,因此,需要結合併發請求數來調節此值。

該引數對應系統路徑為:/proc/sys/net/core/somaxconn 128

net.core.netdev_max_backlog

表示當每個網路介面接收資料報的速率比核心處理這些包的速率快時,允許傳送到佇列的資料報最大數。

該引數對應系統路徑為:/proc/sys/net/core/netdev_max_backlog,預設值為1000

linux核心優化引數web伺服器

惆悵啊沒辦法,總監讓優化整個架構的核心引數,沒辦法就到處蒐集了一些整理到下面了。看下面引數我還是建議先看下 減少tcp 連線中的time wait sockets net.ipv4.tcp syncookies 1 表示開啟syn cookies。當出現syn等待佇列溢位時,啟用cookies來處理...

linux 生產伺服器 核心優化

net.ipv4.icmp echo ignore broadcasts 1 表示開啟syn cookies。當出現syn等待佇列溢位時,啟用cookies來處理,可防範少量syn攻擊,預設為0,表示關閉 net.ipv4.tcp syncookies 1 表示開啟重用。允許將time wait s...

Linux伺服器系統引數優化

在伺服器安裝了lnmt linux nginx mysql tomcat 環境之後linux伺服器引數必須做必要的優化,包括網路引數優化 檔案數優化 記憶體優化等等。1 網路引數優化 這部分主要參照張宴 nginx 0.8.x php 5.2.13 fastcgi 搭建勝過apache十倍的web伺...