linux 內核調優
TCP套接字解釋 狀態意義
CLOSED 沒有使用這個套接字
LISTEN 套接字正在監聽入境連接
SYN_SENT 套接字正在試圖主動建立連接
SYN_RECEIVED 正在處於連接的初始同步狀態
ESTABLISHED 連接已建立
CLOSE_WAIT 遠程套接字已經關閉:正在等待關閉這個套接字
FIN_WAIT_1 套接字已關閉,正在關閉連接
CLOSING 套接字已關閉,遠程套接字正在關閉,暫時掛起關閉確認
LAST_ACK 遠程套接字已,正在等待本地套接字的關閉確認
FIN_WAIT_2 套接字已關閉,正在等待遠程套接字關閉
TIME_WAIT 這個套接字已經關閉,正在等待遠程套接字的關閉傳送
linux內核優化:
vim /etc/sysctl.conf
net.ipv4.tcp_syncookies = 1 表示開啓SYN Cookies。當出現SYN等待隊列溢出時,啓用cookies來處理,可防範少量SYN***,默認爲0,表示關閉;
net.ipv4.tcp_tw_reuse = 1 表示開啓重用。允許將TIME-WAIT sockets重新用於新的TCP連接,默認爲0,表示關閉;
net.ipv4.tcp_tw_recycle = 1 表示開啓TCP連接中TIME-WAIT sockets的快速回收,默認爲0,表示關閉。
net.ipv4.tcp_fin_timeout = 30 表示如果套接字由本端要求關閉,這個參數決定了它保持在FIN-WAIT-2狀態的時間。
net.ipv4.tcp_keepalive_time = 1200 表示當keepalive起用的時候,TCP發送keepalive消息的頻度。缺省是2小時,改爲20分鐘。
net.ipv4.ip_local_port_range = 1024 65000 表示用於向外連接的端口範圍。缺省情況下很小:32768到61000,改爲1024到65000。
net.ipv4.tcp_max_syn_backlog = 8192 表示SYN隊列的長度,默認爲1024,加大隊列長度爲8192,可以容納更多等待連接的網絡連接數。
net.ipv4.tcp_max_tw_buckets = 5000 表示系統同時保持TIME_WAIT套接字的最大數量,如果超過這個數字,TIME_WAIT套接字將立刻被清除並打印警告信息。
默 認爲180000,改爲5000。對於Apache、Nginx等服務器,上幾行的參數可以很好地減少TIME_WAIT套接字數量,但是對於Squid,效果卻不大。此項參數可以控制TIME_WAIT套接字的最大數量,避免Squid服務器被大量的TIME_WAIT套接字拖死。
注:
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
設置這兩個參數: reuse是表示是否允許重新應用處於TIME-WAIT狀態的socket用於新的TCP連接; recyse是加速TIME-WAIT sockets回收
linux 內核調優
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.