论坛风格切换切换到宽版
  • 517阅读
  • 4回复

[问题求助]如何同时处理大量连接? [复制链接]

上一主题 下一主题
离线yappgchen.
 
发帖
1937
C币
-605217
威望
370
贡献值
5
银元
-1
铜钱
4343
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
如题,昨天电话面试的时候被.问到这个问题--- 印刷
当.时有点发蒙,说了几句人家不满意,我就回答不知道了,后来.静下来想想。域名
首先,我觉得因为一般构建服务.器都是使用操作系统中提供的listen函数,这确实会带来一些限制。服务器调用listen后,.当客户端有请求连接到来时(SYN),TCP接受这个数据包并维护一个未完成队列。当三次握手完成后,将此项从未完成.队列移到已完成队列中,此时accept可从已完成对列中取出信息。由于队列长度有所.限制,当短时间内有大量请求到来时,完全可能出现队列满服务器无法响应第一个S.YN消息的情况,此时会一般会导致客户端重传SYN。我当时是从这.个角度考虑的,确实没想到什么有效的方法,除非加大队列长度。电影

如果是从.创建线程或者进程带来并法效率低下的角度考虑,可以预先创建线程池或进程池(线程池效率较高),个人.感觉当时面试官期待的可能是这个答案?(广告)

记得以前有人介绍过一些大网站的做法,专门.用一台机器当作前置服务器处理连接,在此服务器之后放置几台机器专门处理任务,有前置机做负.载均衡。这.应该是从处理任务比较消耗资源的角度来考虑吧。但是如果需要后面几台机器同步信息的话就十分复杂了。           女人

关于.这个问题大家认为该怎么解决?--------------彩票

查了点资料,有人说windows下用complete p.ort,unix/linux下用异步io.。不过我印象里好象记得linux没有真正实现异步io。如果有人用过的请多.指教。.

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
发帖
2107
C币
-235514
威望
408
贡献值
1
银元
-5
铜钱
4774
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
加大同时可处理请求数?1024改成4096之类,还有就是加强CPU。。。

离线慧琳迷.
发帖
1929
C币
-60734
威望
391
贡献值
1
银元
-1
铜钱
4306
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
squid 集群 squid 集群

离线heartevil.
发帖
1971
C币
-61102
威望
333
贡献值
1
银元
-5
铜钱
4333
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
提高硬件,加大带宽,优化服务器配置,负载均衡.

离线smrlgw.
发帖
2005
C币
-60682
威望
354
贡献值
1
银元
-2
铜钱
4395
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个