代碼如下:
#?controls?the?use?of?tcp?syncookies #表示開啟重用。允許將time-wait?sockets重新用于新的tcp連接,默認(rèn)為0,表示關(guān)閉; net.ipv4.tcp_syncookies?=?1 #一個(gè)布爾類型的標(biāo)志,控制著當(dāng)有很多的連接請求時(shí)內(nèi)核的行為。啟用的話,如果服務(wù)超載,內(nèi)核將主動地發(fā)送rst包。 net.ipv4.tcp_abort_on_overflow?=?1 #表示系統(tǒng)同時(shí)保持time_wait的最大數(shù)量,如果超過這個(gè)數(shù)字,time_wait將立刻被清除并打印警告信息。 #默認(rèn)為180000,改為6000。對于apache、nginx等服務(wù)器,此項(xiàng)參數(shù)可以控制time_wait的最大數(shù)量,服務(wù)器被大量的time_wait拖死 net.ipv4.tcp_max_tw_buckets?=?6000 #有選擇的應(yīng)答 net.ipv4.tcp_sack?=?1 #該文件表示設(shè)置tcp/ip會話的滑動窗口大小是否可變。參數(shù)值為布爾值,為1時(shí)表示可變,為0時(shí)表示不可變。tcp/ip通常使用的窗口最大可達(dá)到65535?字節(jié),對于高速網(wǎng)絡(luò). #該值可能太小,這時(shí)候如果啟用了該功能,可以使tcp/ip滑動窗口大小增大數(shù)個(gè)數(shù)量級,從而提高數(shù)據(jù)傳輸?shù)哪芰Α?net.ipv4.tcp_window_scaling?=?1 #tcp接收緩沖區(qū) net.ipv4.tcp_rmem?=?4096????87380??4194304 #tcp發(fā)送緩沖區(qū) net.ipv4.tcp_wmem?=?4096????66384??4194304 #?#?out?of?socket?memory net.ipv4.tcp_mem?=?94500000?915000000?927000000 #該文件表示每個(gè)套接字所允許的最大緩沖區(qū)的大小。 net.core.optmem_max?=?81920 #該文件指定了發(fā)送套接字緩沖區(qū)大小的缺省值(以字節(jié)為單位)。 net.core.wmem_default?=?8388608 #指定了發(fā)送套接字緩沖區(qū)大小的最大值(以字節(jié)為單位)。 net.core.wmem_max?=?16777216 #指定了接收套接字緩沖區(qū)大小的缺省值(以字節(jié)為單位)。 net.core.rmem_default?=?8388608 #指定了接收套接字緩沖區(qū)大小的最大值(以字節(jié)為單位)。 net.core.rmem_max?=?16777216 #表示syn隊(duì)列的長度,默認(rèn)為1024,加大隊(duì)列長度為10200000,可以容納更多等待連接的網(wǎng)絡(luò)連接數(shù)。 net.ipv4.tcp_max_syn_backlog?=?1020000 #每個(gè)網(wǎng)絡(luò)接口接收數(shù)據(jù)包的速率比內(nèi)核處理這些包的速率快時(shí),允許送到隊(duì)列的數(shù)據(jù)包的最大數(shù)目。 net.core.netdev_max_backlog?=?862144 #web?應(yīng)用中l(wèi)isten?函數(shù)的backlog?默認(rèn)會給我們內(nèi)核參數(shù)的net.core.somaxconn?限制到128,而nginx?定義的ngx_listen_backlog?默認(rèn)為511,所以有必要調(diào)整這個(gè)值。 net.core.somaxconn?=?262144 #系統(tǒng)中最多有多少個(gè)tcp?套接字不被關(guān)聯(lián)到任何一個(gè)用戶文件句柄上。如果超過這個(gè)數(shù)字,孤兒連接將即刻被復(fù)位并打印出警告信息。 #這個(gè)限制僅僅是為了防止簡單的dos?攻擊,不能過分依靠它或者人為地減小這個(gè)值,更應(yīng)該增加這個(gè) net.ipv4.tcp_max_orphans?=?327680 #時(shí)間戳可以避免序列號的卷繞。一個(gè)1gbps?的鏈路肯定會遇到以前用過的序列號。時(shí)間戳能夠讓內(nèi)核接受這種“異常”的數(shù)據(jù)包。這里需要將其關(guān)掉。 net.ipv4.tcp_timestamps?=?0 #為了打開對端的連接,內(nèi)核需要發(fā)送一個(gè)syn?并附帶一個(gè)回應(yīng)前面一個(gè)syn?的ack。也就是所謂三次握手中的第二次握手。這個(gè)設(shè)置決定了內(nèi)核放棄連接之前發(fā)送syn+ack?包的數(shù)量。 net.ipv4.tcp_synack_retries?=?1 #在內(nèi)核放棄建立連接之前發(fā)送syn?包的數(shù)量。www.jb51.net net.ipv4.tcp_syn_retries?=?1 #表示開啟tcp連接中time-wait?sockets的快速回收,默認(rèn)為0,表示關(guān)閉; net.ipv4.tcp_tw_recycle?=?1 #表示開啟重用。允許將time-wait?sockets重新用于新的tcp連接,默認(rèn)為0,表示關(guān)閉; net.ipv4.tcp_tw_reuse?=?1 #修改系統(tǒng)默認(rèn)的?timeout?時(shí)間。 net.ipv4.tcp_fin_timeout?=?15 #表示當(dāng)keepalive起用的時(shí)候,tcp發(fā)送keepalive消息的頻度。缺省是2小時(shí),建議改為20分鐘。 net.ipv4.tcp_keepalive_time?=?30 #表示用于向外連接的端口范圍。缺省情況下很小:32768到61000,改為10000到65000。(注意:這里不要將最低值設(shè)的太低,否則可能會占用掉正常的端口!) net.ipv4.ip_local_port_range?=?1024??65000 #以下可能需要加載ip_conntrack模塊?modprobe?ip_conntrack?,有文檔說防火墻開啟情況下此模塊失效 #縮短established的超時(shí)時(shí)間 net.netfilter.nf_conntrack_tcp_timeout_established?=?180 #conntrack_max?允許的最大跟蹤連接條目,是在內(nèi)核內(nèi)存中netfilter可以同時(shí)處理的“任務(wù)”(連接跟蹤條目) net.netfilter.nf_conntrack_max?=?1048576 net.nf_conntrack_max?=?1048576
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END