NGINX核心引數優化

2021-07-05 05:59:27 字數 1769 閱讀 2199

核心引數的優化,主要是在linux系統中針對nginx應用而進行的系統核心引數的優化。

下面給出的乙個優化例項以供參考。

net.ipv4.tcp_max_tw_buckets = 6000

net.ipv4.ip_local_port_range = 1024 65000

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_syncookies = 1

net.core.somaxconn = 262144

net.core.netdev_max_backlog = 262144

net.ipv4.tcp_max_orphans = 262144

net.ipv4.tcp_max_syn_backlog = 262144

net.ipv4.tcp_synack_retries = 1

net.ipv4.tcp_syn_retries = 1

net.ipv4.tcp_fin_timeout = 1

net.ipv4.tcp_keepalive_time = 30

將上面的核心引數值 加入到/etc/sysctl.conf檔案中,然後執行如下命令使之生效

/sbin/sysctl -p

下面對上面的引數進行介紹一下:

net.ipv4.tcp_max_tw_buckets 用來設定timewait的數量 預設是180000,這裡改為6000

net.ipv4.ip_local_port_range 用來設定允許系統開啟的埠範圍最小值1024

net.ipv4.tcp_tw_recycle 用來設定啟動timewait快速**。

net.ipv4.tcp_tw_reuse 用來設定開啟重用,允許將time-wait sockets重新用於新的tcp連線

net.ipv4.tcp_syncookies 用來開啟syn cookies,當出現syn等待佇列一處時,啟用cookies處理

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

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

net.ipv4.tcp_max_orphans  用於設定系統中最多有多少個tcp套接字不被關聯到任何乙個使用者檔案控制代碼上。如果超過這個數字,孤立連線將立即被復位並列印出警告資訊。這個限制值是為了防止簡單的dos攻擊。不能過分依靠這個限制甚至人為減小這個值,更多的情況下應該增加這個值。

net.ipv4.tcp_max_syn_backlog 用於記錄那些尚未收到客戶端確認資訊的連線請求的最大值。對於有128mb記憶體的系統而言,次引數預設值是1024,對小記憶體的系統則是128

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

net.ipv4.tcp_syn_retries 表示在核心放棄簡歷連線之前傳送syn包的數量

net.ipv4.tcp_fin_timeout 決定了套接字保持在fin-wait-2 狀態的時間。預設值是60秒。正確設定這個值非常重要,有時即使乙個負載很小的web伺服器,也會出現大量的死套接字而產生記憶體溢位的風險。

net.ipv4.tcp_keepalive_time 表示當keepalive啟動的時候,tcp傳送keepalive訊息的頻度。預設值是2(單位是小時)。

Linux核心引數的優化(Nginx)

深入理解nginx 陶輝 由於預設的linux核心引數考慮的是最通用的場景,這明顯不符合用於支援高併發訪問的web伺服器的定義,所以需要修改linux核心引數,使得nginx可以擁有更高的效能。在優化核心時,可以做的事情很多,不過,我們通常會根據業務特點來進行調整,當nginx作為靜態web內容伺服...

Nginx核心引數相關的優化設定

nginx核心引數乙個長時間困擾著網管員的問題,在實際的操作中各種小技巧還是需要我們引起注意。下面我們就詳細的看看如何進行。nginx核心引數在使用的時候有不少問題需要我們解決,其中在優化方面就需要我們格外的注意。在下面就是對nginx核心引數優化的詳細介紹,希望大家有所收穫。關於nginx核心引數...

Nginx 核心優化

核心引數的優化示例 etc sysctl.conf net.ipv4.tcp max tw buckets 6000 timewait的數量,預設是180000。net.ipv4.ip local port range 1024 65000 允許系統開啟的埠範圍。net.ipv4.tcp tw re...