主要是指在Linux系統(tǒng)中針對(duì)服務(wù)應(yīng)用而進(jìn)行的系統(tǒng)內(nèi)核參數(shù)調(diào)整鹤盒,優(yōu)化沒(méi)有的標(biāo)準(zhǔn)义起,根據(jù)實(shí)際需求優(yōu)化才是最合適的西轩。
編輯內(nèi)核配置文件
vim /etc/sysctl.conf #添加或是修改以下參數(shù)
參數(shù)及簡(jiǎn)單說(shuō)明
net.ipv4.tcp_fin_timeout = 2 #保持在FIN-WAIT-2狀態(tài)的時(shí)間,使系統(tǒng)可以處理更多的連接。此參數(shù)值為整數(shù)岛啸,單位為秒。
net.ipv4.tcp_tw_reuse = 1 #開(kāi)啟重用娃殖,允許將TIME_WAIT socket用于新的TCP連接值戳。默認(rèn)為0议谷,表示關(guān)閉炉爆。
net.ipv4.tcp_tw_recycle = 1 #開(kāi)啟TCP連接中TIME_WAIT socket的快速回收。默認(rèn)值為0卧晓,表示關(guān)閉芬首。
net.ipv4.tcp_syncookies = 1 #開(kāi)啟SYN cookie逼裆,出現(xiàn)SYN等待隊(duì)列溢出時(shí)啟用cookie處理,防范少量的SYN攻擊胜宇。默認(rèn)為0耀怜,表示關(guān)閉财破。
net.ipv4.tcp_keepalive_time = 600 #keepalived啟用時(shí)TCP發(fā)送keepalived消息的拼度。默認(rèn)位2小時(shí)从诲。
net.ipv4.tcp_keepalive_probes = 5 #TCP發(fā)送keepalive探測(cè)以確定該連接已經(jīng)斷開(kāi)的次數(shù)左痢。根據(jù)情形也可以適當(dāng)?shù)乜s短此值。
net.ipv4.tcp_keepalive_intvl = 15 #探測(cè)消息發(fā)送的頻率系洛,乘以tcp_keepalive_probes就得到對(duì)于從開(kāi)始探測(cè)以來(lái)沒(méi)有響應(yīng)的連接殺除的時(shí)間俊性。默認(rèn)值為75秒,也就是沒(méi)有活動(dòng)的連接將在大約11分鐘以后將被丟棄描扯。對(duì)于普通應(yīng)用來(lái)說(shuō),這個(gè)值有一些偏大,可以根據(jù)需要改小.特別是web類服務(wù)器需要改小該值定页。
net.ipv4.ip_local_port_range = 1024 65000 #指定外部連接的端口范圍。默認(rèn)值為32768 61000绽诚。
net.ipv4.tcp_max_syn_backlog = 262144 #表示SYN隊(duì)列的長(zhǎng)度典徊,預(yù)設(shè)為1024,這里設(shè)置隊(duì)列長(zhǎng)度為262 144憔购,以容納更多的等待連接宫峦。
net.ipv4.tcp_max_tw_buckets =5000 #系統(tǒng)同時(shí)保持TIME_WAIT套接字的最大數(shù)量,如果超過(guò)這個(gè)數(shù)值將立刻被清楚并輸出警告信息玫鸟。默認(rèn)值為180000导绷。對(duì)于squid來(lái)說(shuō)效果不是很大,但可以控制TIME_WAIT套接字最大值屎飘,避免squid服務(wù)器被拖死妥曲。
net.ipv4.tcp_syn_retries = 1 #表示在內(nèi)核放棄建立連接之前發(fā)送SYN包的數(shù)量贾费。
net.ipv4.tcp_synack_retries = 1 #設(shè)置內(nèi)核放棄連接之前發(fā)送SYN+ACK包的數(shù)量。
net.core.somaxconn = 16384 #定義了系統(tǒng)中每一個(gè)端口最大的監(jiān)聽(tīng)隊(duì)列的長(zhǎng)度, 對(duì)于一個(gè)經(jīng)常處理新連接的高負(fù)載 web服務(wù)環(huán)境來(lái)說(shuō)檐盟,默認(rèn)值為128褂萧,偏小。
net.core.netdev_max_backlog = 16384 #表示當(dāng)在每個(gè)網(wǎng)絡(luò)接口接收數(shù)據(jù)包的速率比內(nèi)核處理這些包的速率快時(shí)葵萎,允許發(fā)送到隊(duì)列的數(shù)據(jù)包的最大數(shù)量导犹。
net.ipv4.tcp_max_orphans = 16384 #表示系統(tǒng)中最多有多少TCP套接字不被關(guān)聯(lián)到任何一個(gè)用戶文件句柄上。如果超過(guò)這里設(shè)置的數(shù)字羡忘,連接就會(huì)復(fù)位并輸出警告信息谎痢。這個(gè)限制僅僅是為了防止簡(jiǎn)單的DoS攻擊。此值不能太小卷雕。
生效配置
sysctl -p