局域网有必要做多线程传输吗?????
老板要我写个局域网用的文件传输程序(传输的文件都很大(>4G),且不只一个),他要作成和网络蚂蚁相似的多线程传输,但我认为在局域网内没必要做多线程传输,因为现在的局域网至少也是100M(其实很多都采用千兆网了),实际传输速率最少也有50M吧,可硬盘的传输速率就远低于这个数值了(7200RPM的硬盘好象只有30M-40M),这样硬盘读数据的速度远小于网络的传输速度,瓶颈是在硬盘这端,所以我认为无论是多线程还是单线程,他们的传输速度都是一样的。不知我的想法对不对,所以发了这个帖子,请大家帮我参考下,谢了!
问题点数:0、回复次数:17Top
1 楼warton(创业群13734424 http://www.anywhy.cn)回复于 2003-08-03 19:40:05 得分 0
硬盘的速率怎么会小于网络呢?
你的网卡是100Mbps/8=12M,好么你每秒最快也就传10M
ATA133应该是每秒传输113Mb/s,不是上面的mbpsTop
2 楼warton(创业群13734424 http://www.anywhy.cn)回复于 2003-08-03 19:40:40 得分 0
硬盘的速率怎么会小于网络呢?
你的网卡是100Mbps/8=12M,好么你每秒最快也就传10M
ATA133应该是每秒传输133Mb/s,不是上面的mbps
Top
3 楼Santos(快乐的GG)回复于 2003-08-03 23:39:18 得分 0
同意warton(Demonizing)
但,局域网内用多点续传确实有些小题大做 :)Top
4 楼pango99(pango)回复于 2003-08-04 17:30:26 得分 0
SORRY,我把硬盘和网络的传输单位搞错了,但是100M局域网已经很少采用了,我的软件的运行环境还是在千兆网,所以还是可以认为网络速率大于硬盘速率。Top
5 楼asimpleman(simple_man)回复于 2003-08-07 21:21:13 得分 0
gzTop
6 楼zihan(子寒)回复于 2003-08-07 22:51:29 得分 0
就算你用的是1千兆的网络,你的网络速度也不可能大于你的硬盘速度,因为网络是共享的,你不能够保证你的这个网络只有你一个传输.另外你做过测试没有,实际传输中,如果是通过集线器连接的,一般情况下的100兆的网速度不会超过2兆,如果用互联线可以达到5兆,那么就算一千兆,你去试试看最高速度有多高.
既然老板要你做,你还是作罢,何况网络传输用多线程肯定是好的.Top
7 楼Raptor(猛禽)回复于 2003-08-08 16:19:02 得分 0
网络传输用多线程真的好吗?
要跟蚂蚁比较是有前提条件的,多线程传输在互联网中的应用并不是可以无限提高传输速度,它只是把有限的带宽尽可能地利用起来,即如果用单线程在56KMODEM上只能传到4KB/s(32kbps),但如果用两个线程,可能就可以达到7KB/s(56Kbps),因为这种情况已经充分使用了带宽,再增加线程,除了浪费系统资源以外,并不能增加速度,可能反而会下降
第一、而在LAN里,大家是共享带宽,如果用多线程,相对来说,就等于把别人的带宽都占了
第二,在LAN里没有那些影响速度的因素,本来就能充分利用带宽,增加线程并没有意义
第三、也是最关键的,一般来说,LAN是用CSMA/CD(即以太网)技术,它的特点是随着连接的增加(即冲突概率增加),可利用带宽反而会下降(我以前实测过,100M网中用一个连接可以达到约80Mbps的实际速度,但当连接增加到9个时,只能达到50Mbps),即用多线程反而降低速度,与初衷完全是背道而驰。
又是一个瞎指挥的悲剧^_^Top
8 楼jiangchun_xn(GrayMemory)(再回头·灯火依旧·人不见·潸然泪下)回复于 2003-08-08 16:21:26 得分 0
同意楼上,
在网吧你就知道了,内部网络是独占得,你考别人东西爽了,别人开始擦拳头了Top
9 楼pcclever(质子)回复于 2003-08-08 16:32:12 得分 0
如果你的头儿是一个内行,你就跟他老人家解释 Raptor(猛禽) 的观点;如果他是个外行,那就按照他的指示,界面多线程(最好可调),具体的code嘛,呵呵,俺就不便直言啦......Top
10 楼mme(dog)回复于 2003-08-08 18:53:03 得分 0
to: Raptor(猛禽)
100M网中用一个连接可以达到约80Mbps的实际速度,真的有这么快吗?
你是怎么试的,我也想试试看 ^_^
你每次发多大的包啊! 我怎么就不行呢?Top
11 楼Raptor(猛禽)回复于 2003-08-09 12:50:26 得分 0
楼上的,你试试COPY一个大文件,然后计算一下,如果同时没有别人在COPY的话,应该可以达到7,80MTop
12 楼Raptor(猛禽)回复于 2003-08-09 12:51:05 得分 0
注意:是bps,要换算成字节,先除以8Top
13 楼mme(dog)回复于 2003-08-09 16:28:34 得分 0
噢~~~兄弟说得果然不错~~~! 是真的...Top
14 楼mme(dog)回复于 2003-08-09 16:30:28 得分 0
不过是在局域网里面试的
我想那,如果我采用了多线程,在局域网外面用的话,可以抢人家的带宽,哈哈哈哈~~~~~~~``Top
15 楼asimpleman(simple_man)回复于 2004-03-08 23:16:41 得分 0
upTop
16 楼pp616(坏蛋)回复于 2004-03-09 02:52:04 得分 0
呵呵。老板要写你就写吧。写了有用没用是他的事。
写了代码和思路就是自己的。那别人的钱为自己做事和乐而不为??Top
17 楼cpmax()回复于 2004-03-10 13:29:30 得分 0
看客户的需要啦,不过多线的同步问题是很头痛的!
Top




