修改tcp連接設置
查看現在設置的多少tcp連接:ulimit -n //如果是65535,已經最大
如果還是不夠用,修改配置文件
vi /etc/sysctl.conf
添加
net.ipv4.ip_conntrack_max = 65534
#表示開啟重用。允許將TIME-WAIT sockets重新用於新的TCP連接,默認為0,表示關閉;
net.ipv4.tcp_tw_reuse = 1
sysctl -p //馬上生效
以下轉自:http://willvvv.iteye.com/blog/1558321
1.Linux系統設置優化,vi /etc/sysctl.conf,添加以下內容
Sysctl.conf代碼
fs.file-max = 65535
kernel.pid_max = 65536
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_timestsmps = 0
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_wmem = 8192 436600 873200
net.ipv4.tcp_rmem = 32768 436600 873200
net.ipv4.tcp_mem = 94500000 91500000 92700000
net.ipv4.tcp_max_orphans = 3276800
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
保存後:
sysctl -p /etc/sysctl.conf // 作用:重新載入/etc/sysctl.conf文件
相關參數說明如下:
# TCP and memory optimization
# increase TCP max buffer size setable using setsockopt()
#it‘s already auto-tuned very well by Linux based on the amount of RAM.
#net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 87380 8388608
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
#表示SYN隊列的長度,默認為1024,加大隊列長度為8192,可以容納更多等待連接的網絡連接數。
net.ipv4.tcp_max_syn_backlog = 65536
#表示開啟SYN Cookies。當出現SYN等待隊列溢出時,啟用cookies來處理,可防範少量SYN攻擊,默認為0,表示關閉;
net.ipv4.tcp_syncookies = 1
#表示開啟重用。允許將TIME-WAIT sockets重新用於新的TCP連接,默認為0,表示關閉;
net.ipv4.tcp_tw_reuse = 1
#表示開啟TCP連接中TIME-WAIT sockets的快速回收,默認為0,表示關閉;
net.ipv4.tcp_tw_recycle = 1
#修改系統默認的 TIMEOUT 時間。
net.ipv4.tcp_fin_timeout = 30
#表示當keepalive起用的時候,TCP發送keepalive消息的頻度。缺省是2小時,改為20分鐘。
net.ipv4.tcp_keepalive_time = 1200
#表示用於向外連接的端口範圍。缺省情況下很小:32768到61000,改為10000到65000。(註意:這裏不要將最低值設的太低,否則可能會占用掉正常的端口!)
net.ipv4.ip_local_port_range = 10000 65000
#表示系統同時保持TIME_WAIT的最大數量,如果超過這個數字,TIME_WAIT將立刻被清除並打印警告信息。默 認為180000,改為6000。對於Apache、Nginx等服務器,上幾行的參數可以很好地減少TIME_WAIT套接字數量,但是對於 Squid,效果卻不大。此項參數可以控制TIME_WAIT的最大數量,避免Squid服務器被大量的TIME_WAIT拖死。
net.ipv4.tcp_max_tw_buckets = 6000
2.修改操作系統的ulimit 限制,vi /etc/security/ ,增加如下兩行(具體數值大點小點問題不大):
Limits.conf代碼
* soft nofile 65535
* hard nofile 65535
修改tcp連接設置