linux 內(nèi)核優(yōu)化

1 /etc/security/limits.conf

  • soft nofile 1024000
  • soft nproc 1024000
  • hard nofile xx
  • hard nproc

root unlimited

--
/etc/sysctl.conf
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_synack_retries = 2
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 2097152 3145728
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

vm.swappiness=10
fs.file-max = 6815744

/proc/sys/net/ipv4
tcp_syn_retries 2 #syn發(fā)送次數(shù)
tcp_synack_retries #syn+ack次數(shù)
tcp_keepalive_time 600 #已三次握手,但沒有數(shù)據(jù)
tcp_keepalive_probes 3 #次數(shù)
tcp_keepalive_intvl 15 #重發(fā)間隔
tcp_retries1 3
tcp_retries2 5
tcp_orphan_retries 3
tcp_fin_timeout 2 #本端斷開的socket,保持在fin狀態(tài)的時間
tcp_max_tw_buckets 36000 #系統(tǒng)在同時所處理的最大 timewait sockets 數(shù)目。如果超過此數(shù)的話﹐time-wait socket 會被立即砍除并且顯示警告信息。
tcp_tw_recycle 1 #快速time-wait回收
tcp_tw_reuse 1 #表示是否允許重新應(yīng)用處于TIME-WAIT狀態(tài)的socket用于新的TCP
tcp_max_orphans 32768 #系統(tǒng)所能處理不屬于任何進程的TCP sockets最大數(shù)量。假如超過這個數(shù)量﹐那么不屬于任何進程的連接會被立即reset,并同時顯示警告信息。之所以要設(shè)定這個限制﹐純粹為了抵御那些簡單的 DoS 攻擊﹐千萬不要依賴這個或是人為的降低這個限制。如果內(nèi)存大更應(yīng)該增加這個值。
tcp_abort_on_overflow 0
tcp_syncookies 1 #防止syn flood攻擊
tcp_stdurg 0
tcp_max_syn_backlog 16384 #對于那些依然還未獲得客戶端確認(rèn)的連接請求﹐需要保存在隊列中最大數(shù)目。對于超過 128Mb 內(nèi)存的系統(tǒng)﹐默認(rèn)值是 1024 ﹐低于 128Mb 的則為 128。如果服務(wù)器經(jīng)常出現(xiàn)過載﹐可以嘗試增加這個數(shù)字。
tcp_window_scaling 1
tcp_timestamps 1
tcp_sack 1
tcp_fack 1
tcp_dsack 1
tcp_ecn 0
tcp_reordering 6
tcp_retrans_collapse 0
tcp_wmem: 8192 131072 16777216 #發(fā)送緩存設(shè)置min:為TCP socket預(yù)留用于發(fā)送緩沖的內(nèi)存最小值。每個tcp socket都可以在建議以后都可以使用它。默認(rèn)值為4096(4K)
default:為TCP socket預(yù)留用于發(fā)送緩沖的內(nèi)存數(shù)量,默認(rèn)情況下該值會影響其它協(xié)議使用的net.core.wmem_default 值,一般要低于net.core.wmem_default的值。默認(rèn)值為16384(16K)。max: 用于TCP socket發(fā)送緩沖的內(nèi)存最大值。該值不會影響net.core.wmem_max,"靜態(tài)"選擇參數(shù)SO_SNDBUF則不受該值影響。默認(rèn)值為131072(128K)。(對于服務(wù)器而言,增加這個參數(shù)的值對于發(fā)送數(shù)據(jù)很有幫助,在我的網(wǎng)絡(luò)環(huán)境中,修改為了51200 131072 204800)
tcp_rmem 8192 131072 16777216 #接收緩存設(shè)置
tcp_app_win 31
tcp_adv_win_scale 2
tcp_low_latency 0
tcp_westwood 0
tcp_bic 0
ip_forward 1/0
ip_local_port_range 1024 65000
ip_conntrack_max 65535


netdev_max_backlog 16384 #每個網(wǎng)絡(luò)接口接收數(shù)據(jù)包的速率比內(nèi)核處理這些包的速率快時,允許送到隊列的數(shù)據(jù)包的最大數(shù)目,對重負(fù)載服務(wù)器而言,該值需要調(diào)高一點。
somaxconn 16384 #用來限制監(jiān)聽(LISTEN)隊列最大數(shù)據(jù)包的數(shù)量,超過這個數(shù)量就會導(dǎo)致鏈接超時或者觸發(fā)重傳機制。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容