Redhat TCP 連線數修改

2021-06-21 00:39:36 字數 2138 閱讀 6485

一、修改檔案數的限制

1)      vim /etc/security/limits.conf

在檔案結尾處追加

* soft nofile 10240

* hard nofile 10240

2) vi /etc/pam.d/login

在末尾追加sessionrequired /lib/security/pam_limits.so(一定注意這裡是32位的)

如果是64位的,請這樣追加sessionrequired /lib64/security/pam_limits.so

二、修改網路埠限制

1)      vi /etc/sysctl.conf

追加或修改

net.ipv4.ip_local_port_range= 1024    65000

net.ipv4.tcp_max_syn_backlog= 102400

net.ipv4.tcp_tw_reuse= 1

net.ipv4.tcp_tw_recycle = 1

2)      sysctl –p

可能net.bridge.bridge-nf-call-ip6tables= 0

net.bridge.bridge-nf-call-iptables= 0

net.bridge.bridge-nf-call-arptables= 0

這幾行會錯誤,請把它注釋掉。

三、請重啟生效。

四、解釋上面的命令

a. 在進行高併發的tcp連線處理的時候,最高的併發量都受到系統對使用者單一程序同時開啟檔案數量的限制,原因是系統為每個tcp連線建立乙個socket控制代碼。而每個socket控制代碼同時也是乙個檔案控制代碼。可用ulimit -n檢視當前使用者的單一程序開啟檔案數的限制。想支援更高數量的tcp併發連線的通訊處理程式,就必須修改linux對當前使用者的的單一程序同時開啟的檔案數量的軟限制(soft limit)和硬限制 (hardlimit)。其中軟限制是指linux在當前系統能夠承受的範圍內進一步限制使用者同時開啟的檔案數;硬限制則是根據系統硬體資源狀況(主要是系統記憶體)計算出來的系統最多可同時開啟的檔案數量。

b. * soft nofile 10240   * hard nofile 10240 其中*指定了要修改哪個使用者的開啟檔案數限制,可用'*'號表示修改所有使用者的限制,soft或hard指定要修改軟限制還是硬限制;10240則指定了想要修改的新的限制值,

c. session required /lib/security/pam_limits.so 這是告訴linux在使用者完成系統登入後,應該呼叫pam_limits.so模組來設定系統對該使用者可使用的各種資源數量的最大限制(包括使用者可開啟的最大檔案數限制),而pam_limits.so模組就會從/etc/security/limits.conf檔案中讀取配置來設定這些限制值。修改完 後儲存此檔案。

d. 修改網路核心對tcp連線的有關限制 net.ipv4.ip_local_port_range = 1024 65000, 這表明將系統對本地埠範圍限制設定為1024~65000之間。請注意,本地埠範圍的最小值必須大於或等於1024;而埠範圍的最大值則應小於或等於65535

e.  sysctl –p  如果系統沒有錯誤提示,就表明新的本地埠範圍設定成功。如果按上述埠範圍進行設定,則理論上單獨乙個程序最多可以同時建立60000多個tcp客戶端連線。

f.   net.ipv4.ip_conntrack_max = 10240 這表明將系統對最大跟蹤的tcp連線數限制設定為10240。請注意,此限制值要盡量小,以節省對核心記憶體的占用。如果不修改這個引數也會可能導致無法建立tcp連線,因為linux網路核心的ip_table防火牆對最大跟蹤的tcp連線數有限制。此時程式會表現為在 connect()呼叫中阻塞,如同宕機,如果用tcpdump工具監視網路,也會發現根本沒有tcp連線時客戶端發syn包的網路流量。由於 ip_table防火牆在核心中會對每個tcp連線的狀態進行跟蹤,跟蹤資訊將會放在位於核心記憶體中的conntrackdatabase中,這個資料庫的大小有限,當系統中存在過多的tcp連線時,資料庫容量不足,ip_table無法為新的tcp連線建立跟蹤資訊,於是表現為在connect() 呼叫中阻塞。此時就必須修改核心對最大跟蹤的tcp連線數的限制,方法同修改核心對本地埠號範圍的限制是類似的

g. 最後那幾條是優化用的,這裡不解釋了,

Linux TCP 連線數修改

linux tcp 連線數修改 一 檔案數限制修改 1 vi etc security limits.conf soft nofile 10240 hard nofile 10240 2 vi etc pam.d login session required lib security pam lim...

修改Oracle連線數

第一步,在cmd命令列,輸入sqlplus 第二步,根據提示輸入使用者名稱與密碼 1.檢視processes和sessions引數 sql show parameter processes name type value db writer processes integer 1 gcs serve...

mysql 連線數修改

這點連線數顯然不夠用檢視最大連線數 show variables like connections 或者 show status like thread 方式1 最大連線數 set global max connections 1000 最大錯誤連線數set global max connect e...