BBS.ChinaUnix.net
首页 | 新闻 | Linux | FreeBSD | AIX | Windows | 博客 | 论坛 | 存储 | 网络 | 人才 | Wiki | 资料 | 读书 | 手册 | 下载 | 空间 | 搜索
  会员: 密码: 免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 


[保留] [算法] 超高性能网络编程, Asynchronous network I/O
首页 » 论坛 » C/C++ »  
[打印] [订阅] [收藏] [本帖文本页] [推荐此主题给朋友,立即获积分]
  本主题由 converse 于 2008-7-19 23:22 加入精华 
fm971
侠客
asynchronous networking



UID:667666
注册:2008-2-8
最后登录: 2008-08-20
帖子:23
精华:1

可用积分:46 (白手起家)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


1楼 发表于 2008-7-17 11:03 

为什么是超高性能?
因为常见资料太过普通, 没有讨论到核心问题.


本贴目的:
讨论Linux下的高性能网络编程.
热烈欢迎参加讨论, 或提供关键的技术参考资料. 最新的资料确实不好找.


项目背景:
流媒体交换服务器, 单台服务器配置4个1Gbps 网口.
要求客户连接超过1024, (单客户约512kbps),  网络满负载运行, 实时性好.

参考产品:
华为与3COM合作的 杭洲H3C公司的 MS8000媒体交换服务器, 最高并发量只达到1024路.  使用双核CPU,4个 1Gbps网口.
MS8000媒体交换服务器

H3C还开发了面向电信高端的 媒体交换机.  基本框架应该是嵌入式, 在协议栈中实现流媒体交换. 在网络性能上应该是马马虎虎.
H3C UMS9005 通用媒体交换机

网络并发能力理论上应该达到物理极限.
所以发此贴, 还望国内的网络高手不吝赐教!    H3C MS8000的网络性能也不见得就最优化.


重要资料:

[1]、 Dan Kegel - "The C10K problem"
        http://www.kegel.com/c10k.html
        主题:   Web servers 同时处理10000个客户端的技术问题,包括不同OS.

[2]、 Improving (network) I/O performance ...
http://www.xmailserver.org/linux-patches/nio-improve.html

        epoll模型原理及性能测量结论.

[3]、 Drepper's New Network Interface (proposal for Linux 2.6+)
At OLS 2006, Ulrich Drepper proposed a new high-speed asynchronous networking API. See:
his paper, "The Need for Asynchronous, Zero-Copy Network I/O"
his slides :http://people.redhat.com/drepper/newni-slides.pdf
LWN article from July 22 : http://lwn.net/Articles/192410/


[4]、Benchmarking BSD and Linux
http://bulk.fefe.de/scalability/

在BSD 和Linux系统下,一系列网络性能的测量对比。


注释:

AIO:  Asynchronous I/O;

以上的资料只到2006年底, 没找到最新的.

epoll 只是事件通知模型.  没有异步IO. 使用epoll 仍然需要用户处理缓存.
Linux 下目前的AIO实现不支持socket, 可以支持文件AIO.


关于windows IOCP:   对用户来讲是异步模型. 但是, 其实现并不是真正的异步.
真正的AIO是由kernel完成, 不需要线程切换, 应当能实现Zero-Copy.


以下是在跟贴中提供的资料,整理一下方便使用:


[1]、High-Performance Server Architecture
http://pl.atyp.us/content/tech/servers.html



[2]、 高性能网络编程,第 1 部分: 最大程度地利用您的网络资源
http://www.ibm.com/developerwork ... perform1/index.html

高性能网络编程,第 2 部分: 加快客户机和服务器的处理速度
http://www.ibm.com/developerwork ... perform2/index.html

[ 本帖最后由 fm971 于 2008-7-21 09:15 编辑 ]



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

High performance netwoking, email: fm101@tom.com
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
fm971
侠客
asynchronous networking



UID:667666
注册:2008-2-8
最后登录: 2008-08-20
帖子:23
精华:1

可用积分:46 (白手起家)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


2楼 发表于 2008-7-17 11:06 
热烈欢迎参加讨论, 或提供一些最新的资料.



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

High performance netwoking, email: fm101@tom.com
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
scutan   帅哥 (冬日夜雨)
精灵使
Linux newbie


CU奥运火炬传递手2008
UID:551201
注册:2007-4-13
最后登录: 2008-10-10
帖子:4871
精华:10

可用积分:4489 (小富即安)
信誉积分:345
专家积分:769 (本版:352)
空间积分:815
推广积分:236

来自:成都
状态:...离线...

[个人空间] [短信] [博客]


3楼 发表于 2008-7-17 11:09 
我觉得性能的提升应该是多方面的。下面有一个资料:
http://www.ibm.com/developerwork ... perform2/index.html



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

全力以赴每一秒!
勿在浮砂筑高台!

积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
fm971
侠客
asynchronous networking



UID:667666
注册:2008-2-8
最后登录: 2008-08-20
帖子:23
精华:1

可用积分:46 (白手起家)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


4楼 发表于 2008-7-17 11:12 


QUOTE:
原帖由 scutan 于 2008-7-17 11:09 发表
我觉得性能的提升应该是多方面的。下面有一个资料:
http://www.ibm.com/developerwork ... perform2/index.html

谢谢。
是有很多方而, 比如自己的缓存问题,mbuf /sk_buff。
但核心的还是通信模型的问题。如果是真正的异步模型就最理想。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

High performance netwoking, email: fm101@tom.com
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
scutan   帅哥 (冬日夜雨)
精灵使
Linux newbie


CU奥运火炬传递手2008
UID:551201
注册:2007-4-13
最后登录: 2008-10-10
帖子:4871
精华:10

可用积分:4489 (小富即安)
信誉积分:345
专家积分:769 (本版:352)
空间积分:815
推广积分:236

来自:成都
状态:...离线...

[个人空间] [短信] [博客]


5楼 发表于 2008-7-17 11:12 


QUOTE:
原帖由 fm971 于 2008-7-17 11:03 发表

为什么是超高性能?
因为常见资料太过普通, 没有讨论到核心问题.

项目背景:
流媒体交换服务器, 单台服务器配置4个1Gbps 网口.
要求客户连接超过1024, 网络满负载运行, 实时性好.

本贴目的:
讨论Lin ...

没看到你是要异步通信的。

[ 本帖最后由 scutan 于 2008-7-17 11:15 编辑 ]



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

全力以赴每一秒!
勿在浮砂筑高台!

积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
fm971
侠客
asynchronous networking



UID:667666
注册:2008-2-8
最后登录: 2008-08-20
帖子:23
精华:1

可用积分:46 (白手起家)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


6楼 发表于 2008-7-17 11:20 


QUOTE:
原帖由 scutan 于 2008-7-17 11:12 发表


没看到.........

thanks a lot!  
有关缓存效率的一样有用. 收集一下也是给别人参考嘛!

huggahalli05.pdf (123.93 KB)



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

High performance netwoking, email: fm101@tom.com
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
yunhappy
侠客




UID:587426
注册:2007-7-15
最后登录: 2008-09-27
帖子:31
精华:0

可用积分:51 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


7楼 发表于 2008-7-17 11:24 
这么看来 linux 2.6 的 epoll 效率很稳定嘛



您对本贴的看法:鲜花[0] 臭蛋[0]
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
版主 converse   帅哥
广告杀手-法王
Stupid is as stupid does.




UID:117516
注册:2003-12-7
最后登录: 2008-10-11
帖子:12343
精华:13

可用积分:5231 (富足长乐)
信誉积分:145
专家积分:130 (本版:10)
空间积分:0
推广积分:0

来自:芒果花开的地方
状态:...离线...

[个人空间] [短信] [博客]


8楼 发表于 2008-7-17 11:24 



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

唯坚持,得成功.
C++名人Alexandrescu说,"十几岁的少年天才到处都有,三十多岁的优秀设计师凤毛麟角".我做不了十几岁的少年天才,但愿到三十多岁时能成为一个优秀工程师.

卖书: http://bbs.chinaunix.net/thread-1053812-1-1.html
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
fm971
侠客
asynchronous networking



UID:667666
注册:2008-2-8
最后登录: 2008-08-20
帖子:23
精华:1

可用积分:46 (白手起家)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


9楼 发表于 2008-7-17 11:27 


QUOTE:
原帖由 yunhappy 于 2008-7-17 11:24 发表
这么看来 linux 2.6 的 epoll 效率很稳定嘛

是.
linux 2.6 几乎在所有网络操作的时候,效率都是 O(1), 不会因数客户数量上升而降低效率。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

High performance netwoking, email: fm101@tom.com
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
aoegiss (风行者)
精灵
很傻,很天真,很好骗



UID:703350
注册:2008-5-10
最后登录: 2008-09-21
帖子:242
精华:0

可用积分:285 (白手起家)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:1

状态:...保密...

[个人空间] [短信] [博客]


10楼 发表于 2008-7-17 11:38 


QUOTE:
原帖由 yunhappy 于 2008-7-17 11:24 发表
这么看来 linux 2.6 的 epoll 效率很稳定嘛

深有感受,要是能支持普通文件就更好了



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

基于Web服务器的论坛
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?

首页 » 论坛 » C/C++ »


 


Copyright © 2001-2008 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP

Processed in 0.082071 second(s), 6 queries , Gzip enabled