chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一臺(tái)Linux服務(wù)器最多能支撐多少個(gè)TCP連接?

Linux愛好者 ? 來(lái)源:開發(fā)內(nèi)功修煉 ? 作者:張彥飛 ? 2020-12-29 11:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【導(dǎo)讀】:?jiǎn)闻_(tái) Linux 服務(wù)器可以支撐多少個(gè) TCP 連接?關(guān)于這個(gè)問題,我想很多客戶端的同學(xué)都不怎么了解,甚至于很多服務(wù)器開發(fā)也沒有特意的關(guān)注。

那么這個(gè)承載數(shù)到底取決了什么,是端口數(shù)量,還是內(nèi)存大小,亦或者是可創(chuàng)建文件句柄數(shù)量?讓我們一起來(lái)了解下吧。

困惑很多人的并發(fā)問題

在網(wǎng)絡(luò)開發(fā)中,我發(fā)現(xiàn)有很多同學(xué)對(duì)一個(gè)基礎(chǔ)問題始終是沒有徹底搞明白。那就是一臺(tái)服務(wù)器最大究竟能支持多少個(gè)網(wǎng)絡(luò)連接?我想我有必要單獨(dú)發(fā)一篇文章來(lái)好好說一下這個(gè)問題。

很多同學(xué)看到這個(gè)問題的第一反應(yīng)是65535。原因是:“聽說端口號(hào)最多有65535個(gè),那長(zhǎng)連接就最多保持65535個(gè)了”。是這樣的嗎?還有的人說:“應(yīng)該受TCP連接里四元組的空間大小限制,算起來(lái)是200多萬(wàn)億個(gè)!”

如果你對(duì)這個(gè)問題也是理解的不夠徹底,那么今天講個(gè)故事講給你聽!

一次關(guān)于服務(wù)器端并發(fā)的聊天

793b0a68-4966-11eb-8b86-12bb97331649.png

"TCP連接四元組是源IP地址、源端口、目的IP地址和目的端口。任意一個(gè)元素發(fā)生了改變,那么就代表的是一條完全不同的連接了。拿我的Nginx舉例,它的端口是固定使用80。另外我的IP也是固定的,這樣目的IP地址、目的端口都是固定的。剩下源IP地址、源端口是可變的。所以理論上我的Nginx上最多可以建立2的32次方(ip數(shù))×2的16次方(port數(shù))個(gè)連接。這是兩百多萬(wàn)億的一個(gè)大數(shù)字?。?

7968bf26-4966-11eb-8b86-12bb97331649.png

"進(jìn)程每打開一個(gè)文件(linux下一切皆文件,包括socket),都會(huì)消耗一定的內(nèi)存資源。如果有不懷好心的人啟動(dòng)一個(gè)進(jìn)程來(lái)無(wú)限的創(chuàng)建和打開新的文件,會(huì)讓服務(wù)器崩潰。所以linux系統(tǒng)出于安全角度的考慮,在多個(gè)位置都限制了可打開的文件描述符的數(shù)量,包括系統(tǒng)級(jí)、用戶級(jí)、進(jìn)程級(jí)。這三個(gè)限制的含義和修改方式如下:"

系統(tǒng)級(jí):當(dāng)前系統(tǒng)可打開的最大數(shù)量,通過fs.file-max參數(shù)可修改

用戶級(jí):指定用戶可打開的最大數(shù)量,修改/etc/security/limits.conf

進(jìn)程級(jí):?jiǎn)蝹€(gè)進(jìn)程可打開的最大數(shù)量,通過fs.nr_open參數(shù)可修改

799af0c2-4966-11eb-8b86-12bb97331649.png

"我的接收緩存區(qū)大小是可以配置的,通過sysctl命令就可以查看。"

$sysctl-a|greprmem net.ipv4.tcp_rmem=4096873808388608 net.core.rmem_default=212992 net.core.rmem_max=8388608

"其中在tcp_rmem"中的第一個(gè)值是為你們的TCP連接所需分配的最少字節(jié)數(shù)。該值默認(rèn)是4K,最大的話8MB之多。也就是說你們有數(shù)據(jù)發(fā)送的時(shí)候我需要至少為對(duì)應(yīng)的socket再分配4K內(nèi)存,甚至可能更大。"

79dada84-4966-11eb-8b86-12bb97331649.png

"TCP分配發(fā)送緩存區(qū)的大小受參數(shù)net.ipv4.tcp_wmem配置影響。"

$sysctl-a|grepwmem net.ipv4.tcp_wmem=4096655368388608 net.core.wmem_default=212992 net.core.wmem_max=8388608

"在net.ipv4.tcp_wmem"中的第一個(gè)值是發(fā)送緩存區(qū)的最小值,默認(rèn)也是4K。當(dāng)然了如果數(shù)據(jù)很大的話,該緩存區(qū)實(shí)際分配的也會(huì)比默認(rèn)值大。"

7a0030f4-4966-11eb-8b86-12bb97331649.png

服務(wù)端百萬(wàn)連接達(dá)成記

7a1500ce-4966-11eb-8b86-12bb97331649.png

“準(zhǔn)備啥呢,還記得前面說過Linux對(duì)最大文件對(duì)象數(shù)量有限制,所以要想完成這個(gè)實(shí)驗(yàn),得在用戶級(jí)、系統(tǒng)級(jí)、進(jìn)程級(jí)等位置把這個(gè)上限加大。我們實(shí)驗(yàn)?zāi)康氖?00W,這里都設(shè)置成110W,這個(gè)很重要!因?yàn)榈帽WC做實(shí)驗(yàn)的時(shí)候其它基礎(chǔ)命令例如ps,vi等是可用的?!?/p>

7a44dfba-4966-11eb-8b86-12bb97331649.png

7a5f307c-4966-11eb-8b86-12bb97331649.png

活動(dòng)連接數(shù)量確實(shí)達(dá)到了100W:

$ss-n|grepESTAB|wc-l 1000024

當(dāng)前機(jī)器內(nèi)存總共是3.9GB,其中內(nèi)核Slab占用了3.2GB之多。MemFree和Buffers加起來(lái)也只剩下100多MB了:

$cat/proc/meminfo MemTotal:3922956kB MemFree:96652kB MemAvailable:6448kB Buffers:44396kB ...... Slab:3241244KBkB

通過slabtop命令可以查看到densty、flip、sock_inode_cache、TCP四個(gè)內(nèi)核對(duì)象都分別有100W個(gè):

7ae92afc-4966-11eb-8b86-12bb97331649.png

結(jié)語(yǔ)

互聯(lián)網(wǎng)后端的業(yè)務(wù)特點(diǎn)之一就是高并發(fā). 但是一臺(tái)服務(wù)器最大究竟能支持多少個(gè)TCP連接,這個(gè)問題似乎卻又在困惑著很多同學(xué)。希望今天過后,你能夠?qū)⑦@個(gè)問題踩在腳下摩擦!

原文標(biāo)題:漫畫:一臺(tái) Linux 服務(wù)器最多能支撐多少個(gè) TCP 連接

文章出處:【微信公眾號(hào):Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 互聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    55

    文章

    11288

    瀏覽量

    108267
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11576

    瀏覽量

    216688
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    13

    文章

    10002

    瀏覽量

    90143

原文標(biāo)題:漫畫:一臺(tái) Linux 服務(wù)器最多能支撐多少個(gè) TCP 連接

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    SSH 遠(yuǎn)程連接內(nèi)網(wǎng) Linux 服務(wù)器

    利用 ZeroNews,您可對(duì)用內(nèi)網(wǎng)的 Linux 服務(wù)器進(jìn)行統(tǒng)的 SSH 遠(yuǎn)程連接管理,當(dāng)用戶外出時(shí),可通過 ZeroNews 分配的公網(wǎng)域名地址,快速訪問企業(yè)內(nèi)部、家庭的
    的頭像 發(fā)表于 09-17 19:52 ?137次閱讀
    SSH 遠(yuǎn)程<b class='flag-5'>連接</b>內(nèi)網(wǎng) <b class='flag-5'>Linux</b> <b class='flag-5'>服務(wù)器</b>

    服務(wù)器數(shù)據(jù)恢復(fù)—服務(wù)器上的卷被誤刪數(shù)據(jù)如何恢復(fù)?

    工作人員不慎將一臺(tái)服務(wù)器上的卷誤刪除,服務(wù)器上有組raid5陣列。需要恢復(fù)誤刪除的數(shù)據(jù)。
    的頭像 發(fā)表于 08-14 11:33 ?548次閱讀
    <b class='flag-5'>服務(wù)器</b>數(shù)據(jù)恢復(fù)—<b class='flag-5'>服務(wù)器</b>上的卷被誤刪數(shù)據(jù)如何恢復(fù)?

    利用Ansible自動(dòng)化部署Linux服務(wù)器

    作為名在運(yùn)維線摸爬滾打多年的工程師,我見過太多因?yàn)槭止づ渲脤?dǎo)致的生產(chǎn)事故。今天,我將毫無(wú)保留地分享我在大規(guī)模Linux服務(wù)器自動(dòng)化管理中積累的實(shí)戰(zhàn)經(jīng)驗(yàn),讓你也能輕松駕馭數(shù)百
    的頭像 發(fā)表于 08-06 17:59 ?916次閱讀

    恒訊科技分析:Ubuntu云服務(wù)器數(shù)據(jù)共享高效方案

    ,幫助您根據(jù)實(shí)際需求選擇最適合的解決方案。 、NFS(Network File System)共享方案 NFS是Linux系統(tǒng)中最常用的文件共享協(xié)議之,適用于Linux
    的頭像 發(fā)表于 07-09 21:40 ?1026次閱讀

    cybt343026-01 scan的話,最多能scan到多少個(gè)?

    我想問下cybt343026-01的模塊,scan的話,最多能scan到多少個(gè)?
    發(fā)表于 07-07 08:14

    CYW20820 GATT服務(wù)器可以支持多少個(gè)來(lái)自GATT客戶端的同時(shí)連接嗎?

    有人能告訴我 CYW20820 GATT 服務(wù)器可以支持多少個(gè)來(lái)自 GATT 客戶端的同時(shí)連接嗎?
    發(fā)表于 06-30 07:47

    服務(wù)器數(shù)據(jù)恢復(fù)—Linux系統(tǒng)服務(wù)器崩潰的數(shù)據(jù)恢復(fù)案例

    服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境: linux操作系統(tǒng)服務(wù)器中有組由4塊SAS接口硬盤組建的raid5陣列。 服務(wù)器故障:
    的頭像 發(fā)表于 05-20 15:46 ?401次閱讀

    服務(wù)器數(shù)據(jù)恢復(fù)—服務(wù)器部分?jǐn)?shù)據(jù)目錄項(xiàng)被破壞的數(shù)據(jù)恢復(fù)案例

    一臺(tái)安裝linux系統(tǒng)的服務(wù)器意外斷電。管理員重啟服務(wù)器后進(jìn)行檢測(cè),發(fā)現(xiàn)服務(wù)器上部分文件丟失。管理員沒有進(jìn)行任何操作,直接將
    的頭像 發(fā)表于 05-08 15:16 ?295次閱讀

    服務(wù)器數(shù)據(jù)恢復(fù)—服務(wù)器raid5陣列硬盤出現(xiàn)壞道掉線如何恢復(fù)服務(wù)器數(shù)據(jù)?

    一臺(tái)服務(wù)器中有組由16塊SAS接口的硬盤組建的raid5陣列。 服務(wù)器磁盤陣列中有2塊硬盤離線,服務(wù)器上跑的應(yīng)用崩潰。 經(jīng)過后續(xù)的分析發(fā)現(xiàn)丟失的數(shù)據(jù)為虛擬機(jī)文件,包含4
    的頭像 發(fā)表于 02-28 13:20 ?544次閱讀
    <b class='flag-5'>服務(wù)器</b>數(shù)據(jù)恢復(fù)—<b class='flag-5'>服務(wù)器</b>raid5陣列硬盤出現(xiàn)壞道掉線如何恢復(fù)<b class='flag-5'>服務(wù)器</b>數(shù)據(jù)?

    服務(wù)器數(shù)據(jù)恢復(fù)—Zfs文件系統(tǒng)服務(wù)器數(shù)據(jù)恢復(fù)案例

    服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境&故障: 一臺(tái)zfs文件系統(tǒng)的服務(wù)器,管理員誤操作刪除了服務(wù)器上的數(shù)據(jù)。
    的頭像 發(fā)表于 01-16 17:27 ?551次閱讀

    termius如何使用,termius如何使用的過程,linux服務(wù)器遠(yuǎn)程連接的實(shí)用教程

    ? ?? ? ?隨著技術(shù)的不斷進(jìn)步,服務(wù)器遠(yuǎn)程連接技術(shù)也在不斷提升其性能和安全性,以滿足企業(yè)日益增長(zhǎng)的需求。本文將和大家起討論termius如何使用的過程以及Linux遠(yuǎn)程桌面
    的頭像 發(fā)表于 12-19 11:31 ?889次閱讀
    termius如何使用,termius如何使用的過程,<b class='flag-5'>linux</b><b class='flag-5'>服務(wù)器</b>遠(yuǎn)程<b class='flag-5'>連接</b>的實(shí)用教程

    負(fù)載均衡服務(wù)器服務(wù)器如何連接?

    負(fù)載均衡服務(wù)器服務(wù)器如何連接?負(fù)載均衡服務(wù)器服務(wù)器可通過多種方式連接,包括直接
    的頭像 發(fā)表于 12-09 13:41 ?673次閱讀

    ethernet IP轉(zhuǎn)ModbusTCP歐姆龍PLC最多能連接多少臺(tái)三菱PLC呢?

    便可帶10臺(tái)三菱設(shè)備,如果做模塊主站即三菱做從站,那最多帶32帶設(shè)備。下面講連接流程: ? 產(chǎn)品特點(diǎn)
    的頭像 發(fā)表于 11-11 17:45 ?1077次閱讀
    ethernet IP轉(zhuǎn)ModbusTCP歐姆龍PLC<b class='flag-5'>最多能</b><b class='flag-5'>連接</b>多少<b class='flag-5'>臺(tái)</b>三菱PLC呢?

    如何使用 Mobaxterm 建立 Linux 服務(wù)器連接

    不同的會(huì)話類型。為了連接Linux 服務(wù)器,你可以選擇以下會(huì)話類型之: SSH :用于安全地連接到遠(yuǎn)程
    的頭像 發(fā)表于 11-11 09:06 ?2522次閱讀

    RAKsmart國(guó)外大帶寬服務(wù)器怎么連接

    RAKsmart是家提供數(shù)據(jù)中心托管服務(wù)的公司,其提供的國(guó)外大帶寬服務(wù)器因其高性能和穩(wěn)定性受到了很多用戶的青睞。如果您正在使用RAKsmart的大帶寬服務(wù)器,了解如何
    的頭像 發(fā)表于 10-22 09:35 ?652次閱讀