linux 檔案數 進數優化,埠數優化

2021-10-09 11:18:18 字數 2857 閱讀 3761

nginx想要支援高併發的配置一般是8核16g,最多支援的cpu是8核,多了也不能發揮其效能,要是想支援10w併發,在負載前面就要加一次lvs用4層再次負載。

要新增2個配置,檔案開啟數,程序開啟數

限制使用者資源配置檔案:/etc/security/limits.conf

nofile 是修改開啟檔案數

~]# vim /etc/security/limits.conf 新增檔案開啟數

每行的格式:

使用者名稱/@使用者組名 型別(軟限制/硬限制) 選項 值

*                             soft                             nofile      100001

* hard nofile 100002

root soft nofile 100001

root hard nofile 100002

注:soft是乙個警告值,而hard則是乙個真正意義的閥值,超過就會報錯。soft一定要比hard小。最大開啟的檔案數(以檔案描敘符,file descripter計數)

~]# ulimit -n 100001 臨時修改立馬生效,永久生效要配合修改配置檔案

nproc 修改程序連線數量

~]# vim /etc/security/limits.conf 新增程序開啟數

~]# ulimit -u 66666 臨時修改立馬生效,永久生效要配合修改配置檔案

最後可以用

~]# ulimit -a查詢

open files (-n) 1024 開啟的檔案個數限制

max user processes (-u) 27955 最大的使用者程序數限制

································網路核心修改優化································

~]# vim /etc/sysctl.conf

net.ipv4.tcp_synack_retries = 0

#防syn flood(洪水攻擊) 預設為5,表示重發5次,每次等待30~40秒,即「半連線」預設hold住大約180秒

net.ipv4.tcp_syn_retries = 1

#在核心放棄建立連線之前傳送syn包的數量。

net.ipv4.tcp_max_syn_backlog = 20480

#表示syn佇列的長度,預設為1024,加大佇列長度為8192,可以容納更多等待連線的網路連線數。

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 = 10

#修改系統預設的 timeout 時間。 在經過這樣的調整之後,除了會進一步提公升伺服器的負載能力之外,還能夠防禦小流量程度的dos、cc和syn攻擊。

fs.file-max = 819200

#系統允許的檔案控制代碼的最大數目,因為連線需要占用檔案控制代碼

net.core.somaxconn = 65535

#用來應對突發的大併發connect 請求

net.core.rmem_max = 1024123000

#最大的tcp 資料接收緩衝(位元組)

net.core.wmem_max = 16777126

#最大的tcp 資料傳送緩衝(位元組)

net.core.netdev_max_backlog = 165536

#網路裝置接收資料報的速率比核心處理這些包的速率快時,允許送到佇列的資料報的最大數目

net.ipv4.ip_local_port_range = 10000 65535

#表示用於向外連線的埠範圍。預設情況下很小:32768到61000,改為10000到65000。(注意:這裡不要將最低值設的太低,否則可能會占用掉正常的埠!)

調整mtu最大傳輸單元:

~]# ifconfig ens33 mtu 9000

mtu,即maximum transmission unit(最大傳輸單元),此值設定tcp/ip協議傳輸資料報時的最大傳輸單元。

系統與isp之間mtu的不符就會直接導致資料在網路傳輸過程中不斷地進行分包、組包,浪費了寶貴的傳輸時間,也嚴重影響了寬頻的工作效率

注意,以下引數面對外網時,不要開啟。因為***很明顯。

#當出現 半連線 佇列溢位時向對方傳送syncookies,調大 半連線 佇列後沒必要

net.ipv4.tcp_syncookies = 0

#time_wait狀態的連線重用功能

net.ipv4.tcp_tw_reuse = 0

#時間戳選項,與前面net.ipv4.tcp_tw_reuse引數配合

net.ipv4.tcp_timestamps = 0

#time_wait狀態的連線**功能

net.ipv4.tcp_tw_recycle = 0

windows 更改最大動態埠數

最近業務遇到乙個奇怪的問題,一台iis伺服器,居然報埠不足的錯誤,分析應該是伺服器可用的動態埠數不夠了,windows預設的動態埠範圍為 1024 5000,也就是最多3977個動態埠可用,如果iis的請求量過大,有可能出現埠分配不了的情況。解決方案如下 1,提高可用的動態埠數 修改登錄檔 hkey...

hbase的檔案數和程序數優化

1 檔案數 ulimit n 可檢視linux系統的開啟檔案數限制,推薦至少10000以上,一般是10240,因為最好是1024的倍數。每個列族至少有乙個storefile,如果region載入,可能超過6個storefile,以下公式計算regionserver上開啟檔案的數量 storefile...

連線數 埠範圍 最大檔案數

1.有些linux系統最大tcp鏈結數比較小,無法支援同時併發6w量的tcp鏈結?原因 最大tcp連線數和系統允許開啟的最大檔案數,使用者允許開啟的最大檔案數,tcp網路連線可用的埠範圍有關,取上述的最小值 一般的設定規則為 系統最大檔案數 可用埠 使用者最大檔案數 修改可用埠數 檢視埠範圍 sys...