免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: fm971
打印 上一主题 下一主题

[算法] 超高性能网络编程, Asynchronous network I/O [复制链接]

招聘 : Java研发
论坛徽章:
0
81 [报告]
发表于 2008-08-09 02:26 |只看该作者

回复 #80 wyezl 的帖子

你这个是网站是吧,跟H3C的东西完全是两码事,别人那是视频。

论坛徽章:
0
82 [报告]
发表于 2008-08-09 03:46 |只看该作者
http://www.chineselinuxuniversit ... /articles/418.shtml

这个也许对你们有帮助

Linux下的高性能编程技术

论坛徽章:
0
83 [报告]
发表于 2008-08-09 22:24 |只看该作者

回复 #81 idsel 的帖子

看标题   超高性能网络编程, Asynchronous network I/O
底层技术换汤不换药。

招聘 : Java研发
论坛徽章:
0
84 [报告]
发表于 2008-08-10 01:02 |只看该作者

回复 #83 wyezl 的帖子

你的意思是一个服务器支持几万到几十万路视频?????呵呵~~

论坛徽章:
0
85 [报告]
发表于 2008-08-10 10:17 |只看该作者
似乎还没有很好的AIO实现吧
glibc记得使用线程模拟的

论坛徽章:
0
86 [报告]
发表于 2008-08-10 20:59 |只看该作者
原帖由 idsel 于 2008-8-10 01:02 发表
你的意思是一个服务器支持几万到几十万路视频?????呵呵~~




哥们,这话我可没说。
视频种东西,占用大量带宽,可能10k用户不到,1G带宽就跑满了。
10k以下的服务,算不上 “高性能网络编程”,更不要说“超高了”。
用epoll就相当于杀鸡用牛刀。
要根据服务的特点去决定你要用什么网络i/o模型。
视频服务的瓶颈并不在监视大量的闲散connections上。
个人觉得,select 足够了。
就更下象棋一样,卒子用好了,一样能将军。

论坛徽章:
0
87 [报告]
发表于 2008-08-27 22:48 |只看该作者
好贴!学习!

论坛徽章:
0
88 [报告]
发表于 2008-08-28 08:56 |只看该作者
原帖由 wyezl 于 2008-8-7 16:51 发表
sports.sinajs.cn  单机每秒可以处理15w+ http请求,支撑50w+  connections同时在线.在2cpu  4核机器上测试。
hq.sinajs.cn  每天上百亿http请求。

系统资源都比较空闲,负载比较低。。。



"单机每秒可以处理15w+ http请求",取决于每个请求要做多少事情,如果每个请求的工作量都很小,那么只要用合适的方式做好accept就可以了。每秒要做14w次socket accept,这种应用比较罕见。
“支撑50w+  connections同时在线”,这个在线是什么意思,http有在线的吗?逻辑上的login,有500w也没关系吧?

“每天上百亿http请求”,按照24小时算是平均每秒11w,峰值估计是平均值的3-5倍,那么就是每秒30w到50w。数字比上面的例子大一点,不过关键点类似。


我猜,sports.sinajs.cn和hq.sinajs.cn应该都是一个类似路由的东西吧,应该是负责分发请求的。一台机器来搞定所有事情,是不符合可扩展性的要求的。

论坛徽章:
0
89 [报告]
发表于 2008-08-28 09:06 |只看该作者
http://www.xmailserver.org/linux-patches/nio-improve.html

测试说明dual PIII 1GHz, 256 Mb RAM的机器,每秒可以处理约27500个128字节的http请求。

“2cpu  4核机器” 比 “dual PIII 1GHz”的性能高五倍,也算一个reasonable的数值吧。

论坛徽章:
0
90 [报告]
发表于 2008-09-09 17:52 |只看该作者
原帖由 wwwsq 于 2008-8-28 08:56 发表



"单机每秒可以处理15w+ http请求",取决于每个请求要做多少事情,如果每个请求的工作量都很小,那么只要用合适的方式做好accept就可以了。每秒要做14w次socket accept,这种应用比较罕见。
“支撑50w+   ...



不是类似路由的东西,而是一个类似apache的东西。
当然,如果我愿意,我可以稍微修改就能成为高效的类似路由的东西或者一个高效的代理服务器。
低层技术都不变,作为什么服务,只是一种表现。


50w+  connections , 就是说,有50w人都连接了这个服务器,而且每几秒可能都有一个请求,建立的连接会一直保持着。有走的有来的,50w是活着的连接。



我们扩展性非常好,可以线性扩展。
你的猜测都只有部分正确。
肯定是没有自己动手写过这种东西。

[ 本帖最后由 wyezl 于 2008-9-9 18:06 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP