CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Linux/Unix社区 >  程序开发区

想搭一个支持10万左右TCP联连的网络服务器!

楼主longenic(江寒)2005-09-23 15:25:00 在 Linux/Unix社区 / 程序开发区 提问

初步设想为通过ACE平台搭建,   用的模型为connector和acceptor     ,       但经测试以后连接数达到1024时,就停了,     请问各位有什么好的办法.......  
   
          如果不用ACE,     有其他的好模型吗?       给点想法也可以  
   
  问题点数:99、回复次数:17Top

1 楼vipiii(vipiii)回复于 2005-09-23 15:36:41 得分 0

10万。。。牛Top

2 楼longenic(江寒)回复于 2005-09-23 15:40:19 得分 0

听说有人用epoll实现了这个数量级,     不知道有用ACE成功的吗?Top

3 楼longenic(江寒)回复于 2005-09-24 09:44:47 得分 0

顶.....................Top

4 楼sharkhuang(走吧走吧!人总会慢慢长大~)回复于 2005-09-24 10:12:02 得分 0

epoll   是2。6出来的可以和完成端口比拼的   强大的异步io接口Top

5 楼rwdx(忆)回复于 2005-09-24 10:26:39 得分 0

一台服务器?就算能到10万个连接已经无实用意义,考虑多机负载均衡吧Top

6 楼longenic(江寒)回复于 2005-09-24 21:16:47 得分 0

有具体的实现模型吗?Top

7 楼longenic(江寒)回复于 2005-09-25 10:30:17 得分 0

顶.......................Top

8 楼yyy790601(发呆的鱼)回复于 2005-09-25 10:33:43 得分 9

传统的select以及poll的效率会因为在线人数的线形递增而导致呈二次乃至三次方的下降,这些直接导致了网络服务器可以支持的人数有了个比较明显的限制。select限制一个进程所打开的FD,由FD_SETSIZE设置,默认值是2048,估计你的及其设置成1024了。epoll则没有这个限制,1GB内存的机器上大约是10万左右,具体数目可以cat   /proc/sys/fs/file-max察看,一般来说这个数目和系统内存关系很大。如果内存够大,应该能够满足你的要求。  
   
  Linux提供了/dev/epoll的设备,以及后来2.6内核中对/dev/epoll设备的访问的封装(System   Epoll)之后,这种现象得到了大大的缓解,而且epoll的操作简单,总共不过4个API:epoll_create,   epoll_ctl,   epoll_wait和close。Top

9 楼mengge(踏岸寻柳)回复于 2005-09-26 10:02:39 得分 10

你的这个1024估计是系统文件描述符的限制,查看一下具体的限制吧:  
  ulimit   -aTop

10 楼gaoxianfeng(高)回复于 2005-09-26 14:57:18 得分 20

gz   xxTop

11 楼lvjinhua(硬件&软件)回复于 2005-09-26 15:56:46 得分 10

收藏Top

12 楼longenic(江寒)回复于 2005-09-27 19:45:09 得分 0

谢谢各位,     终于通过在linux   2.6   搭了一个差不多的服务,     如果仅仅是连接数,可以达到10万,   不知道有真正运行的时候能不能支持.Top

13 楼superdai(淨居天人)回复于 2005-10-02 20:21:58 得分 10

很牛。Top

14 楼lancezhao(阳光灿烂)回复于 2005-10-03 13:26:37 得分 20

估计不乐观,就算连接数达到10万,具体等到应用的时候还是不堪负载的Top

15 楼tb01412(tb)回复于 2005-10-03 23:00:37 得分 10

用10万个线程或进程实现??  
  还是当有一个连接时就用一个线程,然后就马上退出线程?  
  如果同时使用十万个进程或是线程的话,那是不可能的Top

16 楼readlei(lei)回复于 2005-10-04 14:02:38 得分 10

niuTop

17 楼akang520(不悔)回复于 2005-10-31 12:02:24 得分 0

不可能连接10W的,最大,65535Top

相关问题

  • 关于连接网络服务器问题
  • 关于连接网络服务器的问题
  • 关于连接网络服务器的问题
  • 怎样在TC下与网络服务器连接
  • 如何用ADO连接到网络服务器的数据库?详细一些,在线等待
  • 客户机连接网络服务器所设置的开机脚本不能执行,寻求解决思路。
  • 求网络服务器开发经验
  • Help 关于win98拨号网络服务器!
  • 怎样提高网络服务器程序的性能?
  • 关于IP地址与网络服务器

关键词

  • 线程
  • 连接
  • 内存
  • epoll
  • 模型
  • 支持
  • 进程
  • 限制
  • 具体
  • 估计

得分解答快速导航

  • 帖主:longenic
  • yyy790601
  • mengge
  • gaoxianfeng
  • lvjinhua
  • superdai
  • lancezhao
  • tb01412
  • readlei

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo