最佳化nginx伺服器核心TCP參數 vi /etc/sysctl.conf在最後添加如下內容: www.2cto.com 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 = 1net.ipv4.tcp_syncookies = 1net.core.somaxconn = 262144net.core.netdev_max_backlog = 262144net.ipv4.tcp_max_orphans = 252144net.ipv4.tcp_max_syn_backlog = 252144net.ipv4.tcp_timestamps = 0net.ipv4.tcp_synack_retries = 1net.ipv4.tcp_syn_retries = 1net.ipv4.tcp_fin_timeout = 1net.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.somaxconnweb應用中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該參數用於設定使用時間戳作為序號,在高並發環境下,開啟該功能會出現異常,因此要關閉 www.2cto.com 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訊息的頻度