前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux服务端最大并发数是多少?

Linux服务端最大并发数是多少?

作者头像
Bug开发工程师
发布于 2020-06-29 08:16:00
发布于 2020-06-29 08:16:00
3.6K0
举报
文章被收录于专栏:码农沉思录码农沉思录

1. 开场白

在开始今天的文章之前,先抛一个面试题出来:

你接触过的单机最大并发数是多少? 你认为当前正常配置的服务器物理机最大并发数可以到多少? 说说你的理解和分析。

思考几分钟,如果你可以有理有据地说出答案,那确实就不用再往下看了,关上手机去陪陪家人是个不错的选择。

思考几分钟,如果你没有头绪或者对答案不确定,那么你先不用着急关闭页面去玩耍,你应该继续往下看,因为这个问题很不错。

对于后端开发人员来说,并发数往往和技术难度是呈正相关的,实际上也确实如此:体量决定架构

服务端根据不同业务场景会有不同的侧重点,单纯追求高并发其实并不是根本目的,高可用&稳定性更重要

所以最终我们的目的是:保证高可用高稳定的基础上追求高并发,降本增效

高可用&高并发是我们直观感受到的,本质上这是个复杂的系统工程,每个环节都会影响结果,每一块都值得研究和深入。

2. C10K问题和C10M问题

在2000年初的时候,全球互联网的规模并不大,但是当时就已经提出了C10K问题,所谓C10K就是单机1w并发问题,虽然现在不觉得是个难题了,但是这在当初是很有远见和挑战的问题。

C10K问题最早由Dan Kegel发布于其个人站点,原文链接如下:

http://www.kegel.com/c10k.html

相关资料显示Dan Kegel目前工作于Google,从1978年起开始接触计算机编程,是Winetricks和Crosstool的作者,大佬年轻时的照片:

Dan Kegel这篇文章阅读难度并不大,大白建议从事服务端开发或者对高性能网络开发有兴趣的读者尝试读一读。

在APUE第三版都没有提到epoll,所以我们解决C10K问题的时间并不长,其中IO复用epoll/kqueue/iocp等技术对于C10k问题的解决起到了非常重要的作用。

开源大神们基于epoll/kqueue等开发了诸如libevent/libuv等网络库,从而大幅提高了高并发网络的开发效率,对于C/C++程序员来说并不陌生。

这里简单提一下针对下一个10年的展望和挑战:C10M问题

站在浪尖的那一批人早就开始思考让单机达到1000w并发,现在听起来感觉不可思议,但是要达到这个目标,除了硬件上的提升,更重要的是对系统软件和协议栈的改造

Errata Security的CEO Robert Graham在Shmoocon 2013大会上的演讲,大佬重要的观点是:

不要让OS内核执行所有繁重的任务:将数据包处理、内存管理、处理器调度等任务从内核转移到应用程序高效地完成,让诸如Linux这样的OS只处理控制层,数据层完全交给应用程序来处理。

确实也是如此,难道你不觉得Linux内核做了太多不该自己做的事情了吗

近几年出现的DPDK、PFRING、NETMAP等技术也是类似的思想,现在流行的协处理器+CPU的架构也是这样的:

3. 服务器最大并发数分析

前面提到的C10K和C10M问题都是围绕着提升服务器并发能力展开的,但是难免要问:服务器最大的并发上限是多少

3.1 五元组

做过通信的盆友们一定听过五元组这个概念,一个五元组可以唯一标记一个网络连接,所以要理解和分析最大并发数,就必须理解五元组:

这样的话,就可以基本认为:理论最大并发数 = 服务端唯一五元组数

3.2 端口&IP组合数

那么对于服务器来说,服务端唯一五元组数最大是多少呢?

有人说是65535,显然不是,但是之所以会有这类答案是因为当前Linux的端口号是2字节大小的short类型,总计2^16个端口,除去一些系统占用的端口,可用端口确实只剩下64000多了。

对于服务端本身来说,DestPort数量确实有限,假定有多张网卡,每个网卡绑定多个IP,服务端的Port端口数和IP数的组合类型也是有限的

对于客户端来说,本身的端口和IP也是一样有限的,虽然这是个组合问题,但是数量还是有限的:

3.3 并发数理论极限

看了前面的端口&IP的组合数计算,好像并发数并不会特别大。

错了,是真的会很大。

分析一下,前面的计算都是针对单个服务器或者客户端的,但是实际上每个服务器会应对全网的所有客户端,那么从服务端看,源IP和源Port的数量是非常大的。

理论上服务端可以接受的客户端IP是2^32(按照IPv4计算),端口数是2^16,目前端口号仍然是16bit的,所有这个理论最大值是2^48,果然很大!

3.4 实际情况

天下没有免费的午餐。

每一条连接都是要消耗系统资源的,所以实际中可能会设置最大并发数来保证服务器的安全和稳定,所以这个理论最大并发数是不可能达到的

实际中并发数和业务是直接相关的,像Redis这种内存型的服务端并发十几万都是没问题的,大部分来讲几十/几百/几千/几万等是存在的。

4. 客户端最大连接数

理解了服务器的最大并发数是2^48,那么客户端最多可以连接多少服务器呢

对于客户端来说,当然可以借助于多网卡多IP来增加连接能力,我们仍然假定客户端只有1张网卡1个IP,由于端口数的限制到2^16,再去掉系统占用的端口,剩下可用的差不多64000。

也就是说,客户端虽然可以连接任意的目的IP和目的端口,但是客户端自身端口是有限的,所以客户端的理论最大连接数是2^16,含系统占用端口。

5. NAT环境下的客户端

解决前面的两个问题之后,来看另外一个问题:

一个公网出口NAT服务设备最多可同时支持多少内网IP并发访问外网服务?

毕竟公网IP都是有限并且要花钱的,我们大部分机器都是在局域网中结合NAT来进行外网访问的,所以这个场景还是很熟悉的。

来看下内网机器访问外网时的IP&端口替换和映射还原的过程,就明白了:

因为这时的客户端是NAT设备,所以NAT环境下最多支持65535个并发访问外网

6.小结

本文通过一道面试题切入,先描述了C10K和C10M问题,进而详细说明了客户端的最大访问数和服务端的最大并发数计算和原理,最后描述了NAT场景下的访问并发数。

虽然理论服务端并发数非常大,但是我们也没有必要觉得并发数高就厉害,服务复杂程度不一样,切忌唯并发数来判断业务和开发者水平

试想echo服务和订单交易服务显然是不一样的,我们应该做的是在服务稳定和高可用的前提下去从缓存/网络/数据库等多个角度来优化提高性能

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农沉思录 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
谷歌在以色列的路口装上了 AI 红绿灯
作者 | 神经星星 来源 | HyperAI超神经 By 超神经 内容一览:谷歌在近期发布的介绍可持续发展项目的博客和视频中,介绍了在以色列几个城市中安装了 AI 交通灯,是如何减少汽车空转造成的污染和能源消耗的,以及如何通过 AI 交通灯减少了路口的拥堵。 关键词:Google 智能交通 图像识别 交通预测  谷歌的碳中和:智能通行 Google 在前日于官网发布了一篇名为《Giving you more sustainable choices with Google(谷歌为你提供可持续选择)》的博客文
AI科技大本营
2023/04/14
3420
谷歌在以色列的路口装上了 AI 红绿灯
聪明的红绿灯,已经学会主动给你开路了
金磊 发自 凹非寺 量子位 | 公众号 QbitAI 一次遇红灯,一路都红灯。 家人们,提到通勤堵车,那种等待的痛苦是否依旧历历在目? 还真别说,这种难受劲儿,每天经历的人可不在少数。 央视最新曝出来的一个极端通勤数据直接上了热搜: 我国超过1400万人忍受着单程耗时超过60分钟的极端通勤! 这背后的原因,刨除“住得远”这个硬伤之外,“交通拥堵”明显成为罪魁祸首。 开车通勤的人最怕一路遇红灯“走走停停”,哪怕是打车,很多司机师傅也会为了选择信号灯较少的线路。“躲”红灯变成了一场人和路口的博弈。 难道就
量子位
2022/09/22
3660
聪明的红绿灯,已经学会主动给你开路了
解决交通拥堵,智慧灯杆网关打造智能红绿灯
交通拥堵是困扰城市居民的老大难问题,尤其是部分老旧城区路段,越来越难以满足出行车辆的日益增长的现状。如何化解交通拥堵呢?本篇就为大家介绍基于智慧路灯杆的“智能红绿灯”应用方案。
智慧物联小马
2023/03/30
6610
解决交通拥堵,智慧灯杆网关打造智能红绿灯
AI智能全面降临,已经侵入了你的城市
国庆黄金周举国度假的同时,一条微博引发了无数网友热议:因为应急车道被堵,前来急救的救护车停在5km之外开不进来,让交警直接发了飙。 道路畅通于救护车的重要性不言而喻,然而当下交通拥堵问题越发严重,一条
老九君
2018/03/06
7770
AI智能全面降临,已经侵入了你的城市
无需预测也能解决问题,自组织算法的魔法你了解吗?
在自组织群体中,个体是愚蠢的,群体则完全不同,其相对于个体实现了智慧上的飞跃。具体的例子有很多,包括鱼群、鸟群、蚁群,甚至菌群。
AI科技评论
2020/10/09
8250
无需预测也能解决问题,自组织算法的魔法你了解吗?
什么原因将导致中国AI赶超美国? | 拔刺
今日拔刺: 1、什么原因将导致中国AI赶超美国? 2、为什么美国怕华为而不怕三星? 3、目前新能源汽车存在的突出问题是什么? 本文 | 2127字 阅读时间 | 四分钟 什么原因将导致中国AI赶超美国
镁客网
2018/06/05
3970
马斯克:我有一个大胆的想法!给红绿灯加个AI视觉「外挂」
---- 新智元报道   编辑:好困 【新智元导读】大半夜的,四下无人又没车,为何还要我等这么久的红灯?这两天,马斯克也在思考这个问题。 对于社畜来说,大城市的交通无非分为两种:白天不让上班;晚上不让回家。 时间来到后半夜,随着时间的推移,车流逐渐稀疏。然而,为啥卡在路口的时间反而还变长了? 最近,一位老哥抱怨说,凌晨的路上连辆车都没有,但是自己却需要在空无一人的路口默默地等待20分钟,红灯才会变绿。显然,红绿灯应该交给AI去控制。凌晨两点多,不知道是不是也在路口等着漫长的红绿灯,马斯克也深表赞同
新智元
2022/03/09
3600
智能红绿灯自动控制系统分析
交通信号灯是指挥交通运行的信号灯,也称红绿灯,由红灯、绿灯、黄灯组成。红灯表示禁止通行,绿灯表示准许通行,黄灯表示警示。三种颜色的指示灯亮的时间并不是随意设置的,合理的设置各个指示灯的时间,可以有效地疏导交通流量、提高道路通行能力,减少交通事故。本文主要通过使用博途软件、西门子S7-300编辑红绿灯的控制逻辑程序来讲解指示灯控制流程工作,以便在后续的研究过程中更熟悉设备运行。
IRTeam-工业安全
2022/05/10
2.1K0
智能红绿灯自动控制系统分析
多功能智慧杆如何实现智能红绿灯应用?
多功能智慧杆的优势之一在于模块化的功能组合,能够根据场景需求自由搭载硬件外设,开发专项功能。比如在十字路口的多功能智慧杆,可以选择搭载AI摄像头、智能红绿灯、显示屏、环境传感器等设备,实现基于现场车况的智能交通灯调控。
智慧物联小马
2023/02/14
4950
多功能智慧杆如何实现智能红绿灯应用?
怎样才能不堵车?只需要几辆自动驾驶汽车
《科学》杂志网站发文称,科研人员研究证明只需要几辆自动驾驶汽车就可避免大城市经常发生的堵车状况,在一些情况下还可将车辆行驶速度整体提升两倍。
人工智能快报
2018/12/29
4960
李彦宏再谈治堵,百度如何打造城市级AI平台?
百度是中国最早战略布局人工智能的科技巨头,李彦宏是中国谈AI最多的企业大佬。这几年,李彦宏在公开场合的演讲,几乎言必谈AI,而在谈到AI时最爱用的例子就是城市治堵,比如去年的两会提案就聚焦人工智能,建议用人工智能解决儿童走失问题,推进智能交通信号灯系统,缓解交通拥堵以及人工智能和行业结合。日前,在出席重庆智博会期间,李彦宏发表的主题演讲,又一次谈到了用AI来缓解城市拥堵、治理“大城市病”的愿景。
罗超频道
2018/09/28
4930
基于单片机的交通信号灯控制系统设计论文_交通信号灯控制设计
本系统采用STC89C51单片机以及单片机最小系统和74HC245驱动电路以及外围的按键和数码管显示等部件,设计一个基于单片机的交通灯设计。设计通过两位一体共阴极数码管显示,并能通过按键对定时进行设置。
全栈程序员站长
2022/11/08
1.3K0
基于单片机的交通信号灯控制系统设计论文_交通信号灯控制设计
IEEE Fellow黄建伟:智能低碳理论探索和关键技术研究
碳中和和碳达峰已上升为国家战略,中央文件曾不止一次指出“要狠抓绿色低碳技术攻关”。那么作为最吸引人的前沿技术,AI如何赋能碳达峰?
AI科技评论
2021/12/29
7610
IEEE Fellow黄建伟:智能低碳理论探索和关键技术研究
李开复:人类是智慧交通的最大阻碍,无人驾驶必须一步到位
本文来自“创新工场”(ID:chuangxin2009),内容来自李开复在“未来论坛”颁奖典礼暨年会上的演讲。原标题《人类是智慧交通的最大阻碍》 10月28日,在“未来论坛”颁奖典礼暨年会上,未来论坛理事、创新工场董事长兼首席执行官李开复发表了主题演讲。他说,未来交通最大的阻碍就是人类,而无人驾驶将打破这一点。 李开复在演讲中说,如果智慧交通能把人的因素剔除出去,可增加安全度,让整个交通变得更有预测性。 他认为,大部分交通事故产生的原因在于人,人会有情绪,会走神,或者反应不够快,会犯错。 李开复提到,谷歌曾
机器人网
2018/04/25
6690
李开复:人类是智慧交通的最大阻碍,无人驾驶必须一步到位
车牌摇号、限行、交通拥堵未来会通通消失?阿里王坚说利用机器智能可以做到
记者 | 周翔 周一的早晨,营长被北京早高峰的洪流裹挟着来到公司,差点迟到! 众所周知,交通拥堵是很多城市难以解决的痛点。对于帝都群众来说,车牌摇号、限行早已习以为常,聚会迟到的理由如果是堵车的话大家也多会报以理解。 但昨天营长听到有人居然说,要用人工智能来解决这些问题,甚至可以取消车辆限行! 这个人就是阿里的王坚,他们将解决的办法称之为“城市大脑”。 1月28日,在AI科技大本营参加的《麻省理工科技评论》与深科技举办的新兴科技峰会上,阿里巴巴首席技术官王坚在会上发表了主题为《从云计算到城市大脑,机
AI科技大本营
2018/04/26
6860
车牌摇号、限行、交通拥堵未来会通通消失?阿里王坚说利用机器智能可以做到
城市大脑:杭州代表中国为世界探索,影响不亚AlphaGo
今年,随着AlphaGo战胜围棋选手,人工智能这一过去有些技术的名词开始被各方越来越多地提及。Google I/O大会上,人工智能成为唯一主题;百度世界大会上,李彦宏说人工智能是互联网下一幕。今天,在一年一度的杭州云栖大会上,杭州市政府联合阿里云在内的13家企业启动了“城市大脑”项目,意味着着阿里云在人工智能布局上迈出了重要的一步,且走了一条颇具阿里特色的道路。 在我看来,城市大脑给世界带来的改变可能比AlphaGo要大得多。 实现了对城市全局的实时分析和决策 什么是城市大脑?引述阿里云之父、阿里巴巴集团
罗超频道
2018/04/27
7470
城市大脑:杭州代表中国为世界探索,影响不亚AlphaGo
科大讯飞谭昶:智慧城市是在一团乱麻里提纲挈领|第四届中国人工智能安防峰会
2021年12月11日,由雷峰网 & AI 掘金志主办的第四届中国人工智能安防峰会,在深圳正式召开。
AI掘金志
2021/12/27
4710
科大讯飞谭昶:智慧城市是在一团乱麻里提纲挈领|第四届中国人工智能安防峰会
谁能拯救我糟心的出行?
从车辆被发明之初,把驾驶员和乘客从 A 点送往 B 点的基础功能就从未变过。但动力技术、车辆豪华配置和科技配置的发展,为汽车赋予了越来越多的职责和角色。 电动化的演变趋势让车辆提供给驾驶者前所未有的驾驶感受,加速迅速、安静无声的特性也让新能源车型,随时都能提供给驾驶员驾驶乐趣的同时,也能提供给乘坐者舒适稳定的乘坐体验。而越来越多科技配置的加入,让豪华车型的豪华等级提升到了一个新高度。如今评判一辆车质感的高低,不会再像过去单纯看车上用了多么高档的真皮和实木,人工智能时代下,科技配置成为了提升车辆档次和质感
企鹅号小编
2018/01/24
5430
谁能拯救我糟心的出行?
AI 的深度强化学习调配交通信号灯
聊起 AI,画面都充斥着机械语言:精密高级的芯片,光怪陆离的智能产业……你眼中的 AI 有什么样的能力?能给传统行业带来哪些变革与发展?基于此,云加社区联手知乎科技,从知乎AI 与传统行业相关话题中精选内容落地社区专题「 AI 与传统行业的融合 」。
腾讯云开发者社区
2020/04/14
2.3K0
魔都要用最先进的神经网络预测交通?前排围观
你是否曾有过这样的经历——有时遇上一个红灯,接下来的每个路口就全是红灯;有时却是一路的绿灯?这并非个人的运气好坏,而是背后一套交通灯系统运行的系统在起作用。
机器之心
2018/12/14
6080
推荐阅读
相关推荐
谷歌在以色列的路口装上了 AI 红绿灯
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档