linux 的内核参数优化,Linux服务器内核参数优化
Linux服務器內核參數優化
cat >> /etc/sysctl.conf << EOF
#kernel optimization
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
EOF
將上面的內核參數加入/etc/sysctl.conf文件中,執行如下命令使之生效:
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_tw_recycle
表示開啟TCP連接中TIME-WAIT sockets的快速回收。
該參數對應系統路徑為:/proc/sys/net/ipv4/tcp_tw_recycle,默認為0,表示關閉。
提示:reuse和recycle這兩個參數是為防止生產環境下Web、Squid等業務服務器time_wait網絡狀態數量過多設置的。
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
來源:51CTO
作者:wx59363e625d1d7
鏈接:https://blog.51cto.com/12988868/2521676
總結
以上是生活随笔為你收集整理的linux 的内核参数优化,Linux服务器内核参数优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python的数据库_python数据库
- 下一篇: python时间序列预测不连续怎么办_p