歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 優化nginx服務器內核TCP參數

優化nginx服務器內核TCP參數

日期:2017/2/27 16:03:22   编辑:Linux教程
cat /etc/sysctl.conf
在最後添加如下內容:
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.ip_local_port_range = 2048 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 = 252144
net.ipv4.tcp_max_syn_backlog = 252144
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 30

保存並輸入sysctl -p使設置生效
解釋:
net.ipv4.tcp_max_tw_buckets
設置timewait的值

net.ipv4.ip_local_poet_range
設置允許系統打開的端口范圍

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
web應用中listen函數的backlog默認會將內核參數的net.core.somaxconn限制到128,而nginx定義的NGX_LISTEN_BACKLOG默認是511,所以必須調整

net.core.netdev_max_backlog
該參數用於設置被傳送到隊列數據包的最大數目

net.ipv4.tcp_max_orphans
該參數用於設置linux能夠處理不屬於任何進程的套接字數量的大小

net.ipv4.tcp_max_syn_backlog
該參數用於記錄尚未被客戶端確認信息的鏈接請求的最大值

net.ipv4.tcp_timestamps
該參數用於設置使用時間戳作為序列號,在高並發環境下,開啟該功能會出現異常,因此要關閉

net.ipv4.tcp_synack_retries
該參數用於設置SYN重試次數

net.ipv4.tcp_syn_retries
該參數用於設置在內核放起建立鏈接之前發送SYN包的數量

net.ipv4.tcp_fin_timeout
表示如果套接字有本端要求關閉,這個參數決定了它保持在FIN-WAIT-2狀態的時間

net.ipv4.tcp_keepalive_time
當啟用keepalive的時候,該參數用於設置TCP發送keepalive消息的頻度
Copyright © Linux教程網 All Rights Reserved