Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1881070
  • 博文数量: 333
  • 博客积分: 10791
  • 博客等级: 上将
  • 技术积分: 4314
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-08 07:39
文章分类

全部博文(333)

文章存档

2015年(1)

2011年(116)

2010年(187)

2009年(25)

2008年(3)

2007年(1)

分类: 系统运维

2010-09-03 12:02:23

T/TCP 的性能个UDP相当,但可靠性和TCP一样.主要是因为它省去了t一开始建立连接时候的三次握手.
一个事物中,请求和得到结果,3种协议所传输的分组数和时间开销分别为:
UDP:2   RTT+SPT
T/TCP:3 (RTT+SPT)+
TCP:9  2RTT+SPT
 
其中是RTT是网络一次往返时间.SPT是服务器处理时间.
 
T/TCP协议比udp协议多出来的一点点时间开销,是因为在本地机器上多做了一些运算.如果处理器非常好,这个时间开销可以忽略不计.
 
 
T/TCP协议的好处:
省去3次握手的时间.
减少了网络上传播分组数.减少路由的压力.
 
应用方向: 对与处理时间短,传输时间相对较长的应用来说,非常有益处.比如http.
 
T/TCP协议使用方法:
client端: 省去connect函数,使用sendto函数指定MSG_EOF.来取代connect,write,shutdown.
server端:将send添加一个MSG_EOF标志.
 
ok,就这样简单,能带来性能将近一倍的提高.
 
如果构造一个这样的服务器:本人已经实现.
采用t/tcp协议,epoll 做为网络i/o,bdb做为数据源,当然要带cache.效率将是相当可关的.
如果数据源是文件, 就使用send()进行传输,它可以实现零copy.
阅读(1868) | 评论(0) | 转发(0) |
0

上一篇:[zeller]zeller.py

下一篇:eclipse 字符集设置

给主人留下些什么吧!~~