讨论:当有大量用户连接请求时,如何提高服务端的效率?

eliner 2005-07-03 10:05:01
如题!
...全文
209 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
clane 2005-07-05
  • 打赏
  • 举报
回复
去看看c10k
http://www.kegel.com/c10k.html
超级经典文章
WecanHuang 2005-07-04
  • 打赏
  • 举报
回复
采用多层代理
umbrella1984 2005-07-04
  • 打赏
  • 举报
回复
是不是很少有软件要做到大量连接的吧?
kuhx 2005-07-04
  • 打赏
  • 举报
回复
IOCP是一个办法,如果连接数过大,UDP可以在适当的情况下考虑。
softrain 2005-07-04
  • 打赏
  • 举报
回复
这样看服务器端对数据的处理复杂度。如果服务器只是简单的接受连接并收到少量的简单信息,而不需要太多处理,用事件模型也很不错。
要处理更多的突发性的并发连接,可以把accept最后一个参数设置得大一点。
goodboyws 2005-07-04
  • 打赏
  • 举报
回复
用IOCP
jerry 2005-07-04
  • 打赏
  • 举报
回复
UNIX下该用什么呢?大量的子进程?
hundlom 2005-07-04
  • 打赏
  • 举报
回复
这段话引用《网络编程技术》"“完成端口”模型是迄今为止最为复杂的一种I / O模型。然而,假若一个应用程序同时需要管理为数众多的套接字,那么采用这种模型,往往可以达到最佳的系统性能!但不幸的是,该模型只适用于Windows NT和Windows 2000操作系统。因其设计的复杂性,只有在你的应用
程序需要同时管理数百乃至上千个套接字的时候,而且希望随着系统内安装的C P U数量的增
多,应用程序的性能也可以线性提升,才应考虑采用“完成端口”模型。要记住的一个基本
准则是,假如要为Windows NT或Windows 2000开发高性能的服务器应用,同时希望为大量套
接字I / O请求提供服务(We b服务器便是这方面的典型例子),那么I / O完成端口模型便是最佳
选择!"
kugou123 2005-07-04
  • 打赏
  • 举报
回复
IOCP

用重叠端口模型也不错。
eliner 2005-07-04
  • 打赏
  • 举报
回复
在UNIX下使用大量的子进程肯定是不行的,每个进程都是需要耗费相对较多的资源的,试问计算机有多少资源可供耗费呢
loseme915 2005-07-04
  • 打赏
  • 举报
回复
为什么一提到这个就有很多人建议用完成端口呢?奇怪了。
拿网络游戏服务端来说,好多就是直接的TCP/IP常连接,因为一台服务器可以连接好几千的SOCKET如果这么多的SOCKET都并发了,那么服务器的处理能力也就差不多了,在多的话也就没意思了。不是吗?
不知道高人是怎么理解的!!
loucai 2005-07-04
  • 打赏
  • 举报
回复
采用完成端口
newbiestar 2005-07-03
  • 打赏
  • 举报
回复
IOCP,IO完成端口,只有优秀的模型才能提高服务器端的效率

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧