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) |