參數名稱預設值建議值參數描述netdev_max_backlog102416384每個網路介面接收資料包的速率比核心處理這些包的速率快時,允許送到隊列的資料包的最大數目,對重負載伺服器而言,該值需要調高一點。somaxconn12816384用來限制監聽(LISTEN)隊列最大資料包的數量,超過這個數量就會導致連結逾時或者觸發重傳機制。web應用中listen函數的backlog預設會給我們核心參數的net.core.somaxconn限制到128,而nginx定義的NGX_LISTEN_BACKLOG預設為511,所以有必要調整這個值。對繁忙的伺服器,增加該值有助於網路效能
wmem_default129024129024預設的發送視窗大小(以位元組為單位)rmem_default129024129024預設的接收視窗大小(以位元組為單位)rmem_max129024873200最大的TCP資料接收緩衝wmem_max129024873200最大的TCP資料發送緩衝2、兩種修改核心參數方法(1)、使用echo value方式直接追加到檔案裡如echo "1" >/proc/sys/net/ipv4/tcp_syn_retries,但這種方法裝置重啟後又會恢複為預設值。
(2)、把參數添加到/etc/sysctl.conf中,然後執行sysctl -p使參數生效,永久生效。
3、核心生產環境最佳化參數net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl =15
net.ipv4.tcp_retries2 = 5
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_max_orphans = 32768
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_wmem = 8192 131072 16777216
net.ipv4.tcp_rmem = 32768 131072 16777216
net.ipv4.tcp_mem = 786432 1048576 1572864
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.ip_conntrack_max = 65536
net.ipv4.netfilter.ip_conntrack_max=65536
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
對比網上其他人的生產環境最佳化參數,需要最佳化的參數基本差不多,只是值有相應的變化。具體最佳化值要參考應用情境,這裡所列只是常用最佳化參數,是否適合,可在上面查看該參數描述,理解後,再根據自己生產環境而設。