关于网络最大连接数的问题

有哪位大佬知道这类问题该怎么分析?
比如一台服务器的最大连接数多少?受限于什么?
客户端最大连接数多少?
一台机器能开多少进程?一个进程能开多少线程?
网上很多答案都模糊不清,书上也没看到过。
全部评论
老生常谈的问题,第一个最大连接数受最大打开文件数限制,用ulimit -a 查看。第二个,进程可开线程数受栈的限制,linux下默认栈大小为10M那么最多可开300个线程,windows下栈按1M来算最多可开3000个。但实际小于这个数
点赞 回复 分享
发布于 2017-08-25 00:15
说说第一个。 一台服务器的最大连接数多少?受限于什么?一个TCP连接由双方ip和双方端口确定。服务器一般是固定ip监听一个固定的端口,所以只有客户端ip和客户端端口两个变量,ip32位,端口16位,理论上可以有2^48个连接。 但这是不可能的,就连linux的文件描述符也不过是一个32位整数,哪里可能来48位。更重要的是内存,每个连接在linux中都会维护一系列相关的结构,当内存不够也是不行的。 常见的nginx服务器10w连接是有的,几十万不考虑性能应该也没问题。
点赞 回复 分享
发布于 2017-08-24 23:57
个人见解,仅供参考: 限制主要来自两方面,一是编码限制,比如说内核代码,操作系统代码,协议栈代码等中的限制;二是资源限制,比如内存资源,CPU资源,磁盘资源等,毕竟资源是有限的。 举例: 服务器最大连接数,维护一条连接需要什么资源?以TCP为例,端口号有限,最大为65535。socket 描述符,也是有限的,而且可能编码上会硬性限制单进程拥有的文件描述符个数。广泛点说,内存资源是有限的,维护链接必然需要内存。 说的很泛泛,毕竟我也不是很懂╮(╯▽╰)╭
点赞 回复 分享
发布于 2017-08-24 23:16
别沉啊,抱着求知的态度提问。
点赞 回复 分享
发布于 2017-08-24 23:09

相关推荐

04-30 21:35
已编辑
长安大学 C++
晓沐咕咕咕:评论区没被女朋友好好对待过的计小将可真多。觉得可惜可以理解,毕竟一线大厂sp。但是骂楼主糊涂的大可不必,说什么会被社会毒打更是丢人。女朋友体制内生活有保障,读研女朋友还供着,都准备订婚了人家两情相悦,二线本地以后两口子日子美滋滋,哪轮到你一个一线城市房子都买不起的996清高计小将在这说人家傻😅
点赞 评论 收藏
分享
小厂面经,也是我的处女面(30min)1.自我介绍2.spring boot的自动装配原理(好多类和接口的单词都忘了全称是啥了,就说了记得的单词,流程应该说对了吧)3.有用过redis吗?主要是用在实现什么功能(说了技术派用redis的zset来实现排行榜)5.有了解过Redisson吗?讲一下对于分布式锁的了解以及在什么场景下应用(说了秒杀场景)6.对mysql有了解吗?包括它的索引优化和创建(把想起来的全说了)7.了解设计模式吗?比如单例模式,为什么要使用单例模式,它的优点是什么(昨天刚看的设计模式)8.工厂模式有了解吗?主要的使用场景是?(也是昨天刚看的)9.场景题:有7个服务器,需要在早上十点定时的向数据库中的用户表中的用户发短信,如果做到发送的消息不重复,且如果发送失败了需要知道是到哪个用户失败了,这样下次就直接从这个用户开始(我答了用spring task来实现定时,用分布式锁来保证只有一份服务器可以发送消息,用消息队列来存储消息,然后用消息确认机制来保证错误信息的记录,以及在数据库或者业务层面完成消息消费的幂等性)10.场景题:如果在系统启动的时间就将数据库的所有用户相关的信息都读到一个hashmap中(这个没啥思路,没答好)27届的投了一个星期终于有一个面试了,大部分公司都只招26的
inari233:已oc,拒了
查看9道真题和解析
点赞 评论 收藏
分享
评论
点赞
20
分享

创作者周榜

更多
牛客网
牛客企业服务