調整linux提高squid併發

2021-05-22 18:33:00 字數 1386 閱讀 9917

linux下高併發的squid伺服器,tcp time_wait套接字數量經常達到兩、三萬,伺服器很容易被拖死。通過修改linux核心引數,可以減少squid伺服器的time_wait套接字 數量。

vi /etc/sysctl.conf

增加以下幾行: 引用

net.ipv4.tcp_fin_timeout = 30

net.ipv4.tcp_keepalive_time = 1200

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.ip_local_port_range = 1024    65000

net.ipv4.tcp_max_syn_backlog = 8192

net.ipv4.tcp_max_tw_buckets = 5000

說明: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套接字拖死。

執行以下命令使配置生效:

/sbin/sysctl -p

修改Squid引數提高快取效果

參考 james qi 2008年10月24日 五 12 32 cst 以前曾經粗略查過我們為mediawiki平台安裝的squid的命中率以便驗證效果,記得多在70 上下。專案訪問總數 tcp hit tcp ims hit tcp mem hit tcp miss tcp denied 數量17...

Linux學習筆記 Squid

squid 1.squid正向 真機 虛擬機器 瀏覽器 edit preferences advanced network settings manual proxy configuration http proxy 172.25.254.29 port 3128 ok 2.squid反向 加速 1...

MySQL 調整MySQL引數提高寫入速度

我用的是zip版的mysql,所以在根目錄下只有乙個初始的my default.ini,如果要修改配置引數,需要將待修改的引數複製進去,然後改名為my.ini,重啟mysql服務即可生效。言歸正傳,之前為了結局磁碟讀寫的瓶頸問題,使用redis作為快取。然而隨著資料的增多,漸漸地單純的寫入操作也越來...