linux伺服器支援的TCP連線數

2022-09-20 13:24:14 字數 720 閱讀 3942

結論:和伺服器的記憶體大小,伺服器的記憶體分配設定,tcp連線傳輸的資料量  等有關

nginx的埠可能指定的是80埠,目標ip是伺服器本身,所以源ip和源埠是可變的

linux中一切皆檔案,所以tcp連線(socket)也會建立檔案(記憶體檔案),不會建立在磁碟上,或者說是乙個檔案識別符號(file descriptor),類似檔案,操作的介面和檔案相同,都是open,close

如果同時保持很多個tcp連線,就是系統會開啟很多個socket的識別符號,開啟檔案會消耗記憶體資源

linux系統出於安全角度的考慮,在多個位置都限制了可開啟的檔案描述符的數量,包括系統級、使用者級、程序級。這三個限制的含義和修改方式如下:"

另外tcp連線還會有資料傳輸,就要有接收的快取區,即使是空的連線不傳資料,也會預設分配一定的大小

可以通過命令來檢視接收快取區大小

4096代表tcp連線所需分配的最少位元組數預設4k記憶體,16777216代表最大會分配16m

綜上,伺服器本身記憶體的大小 + 伺服器的檔案描述符最大開啟數的配置 + tcp連線的傳輸的資料量

三個主要因素影響了一台linux伺服器的tcp連線數

Linux伺服器 apache支援cgi

apache支援cgi 1 開啟apache配置檔案httpd.conf,搜尋 cgi 找到下面的一段,去掉 addhandler 前面的 這樣就開啟了apache的cgi功能 2 cgi的目錄在 var www cgi bin 在這裡建立乙個測試檔案 test.cgi 輸入內容如下 root lo...

Linux下搭建tcp伺服器

include see notes include include include include include include include include socket bind listen accept send recv define server port 8888 define b...

tcp伺服器示例 使用epoll監聽併發連線

程式功能 監聽tcp客戶端連線,並用epoll監聽這些客戶端傳送的資料,相當於乙個日誌接收器 include include include include include include include include include include include define max even...