Board logo

标题: eMule下载速度之谜。。。。转贴 [打印本页]

作者: 我有我色彩    时间: 2005-10-13 08:01     标题: eMule下载速度之谜。。。。转贴

为了节约大家的时间,我把叙述的顺序颠倒一下,先说结论,后说原因,那些想在一夜之间把自己下载速度提高100倍的朋友看完前面的一小部分就可以离开了。
emule的新用户往往很关心这个问题:emule的下载速度有多快?
把你的带宽除以10,这就是你的 emule的最大下载速度;假如你的带宽是1Mb(1024Kb),换算一下单位就是1024/8=128KB(emule里默认以KB/s为单位),Windows XP预留20%带宽,你剩下128×0.8=102.4KB/s,这就是你的emule的最高速度了。听说过有网络限速不严而达到更高的,对绝大多数人来说意义不大。
怎样做能提高下载速度?
正确设置你的下载上传速度
得到一个HighID
每次同时下载20个左右的文件
假如你搜索一个片子,得到了多个结果,就挑那个源最多的来下载
emule开的时间越长越好
加入好友
等待
做到上面这几条以后,我的速度能达到多少?
100KB/s、10KB/s、1KB/s、0.1KB/s都有可能(原因后面解释)
为什么速度会有这么大的差异?
Good question!
这就是我打算要详细讨论的内容(我的论述肯定不全面、不专业,也存在谬误,请大家指正),前面没解释清楚的也会在此一一说明。
首先我们看一下哪些因素影响我们的下载速度:
1。emule的设置
emule的设置方法在FAQ里已有详细说明,我在这里不过多说了,我要着重强调的是上传速度的设定。有的朋友出于共享精神把自己的上传速度开得很高,有的朋友听说增加上传会提高积分,从而缩短排队时间,所以也把上传速度开得很高,我提醒大家要谨慎!
a.(以下资料来自mmmxxx版主)TCP协议把要发送的数据分割成许许多多的小段,每小段再加上发送人的IP地址和目的地址(当然还有其他东西)就成了一个封包,不管一个文件多大,都会分割成这样的小包发送和接收.当一方要给另一方传送数据时,他先给对方发送一个这样的封包,对方收到后,会打开这个封包,然后做检查这个封包里的数据是否出错或有数据遗失,如果没错,就返回发送方一个正确信号,发送方收到这个信号,然后继续发送下一个封包直到文件传送完毕. 一但接受方发现数据出错,就会反馈一个封包错误的信号, 那发送方会把上一个封包重复发送过去,直到这一封包接受成功接受方在收到每一个封包以后,不管数据是否正确,都会回馈一个正确或者出错的信号,发送方会等待这一信号来决定下一次发送哪个封包,如果发送方在规定的时间内没有受到接受方回馈的信号,就认为上一个封包已经遗失,然后发送方会自动把上一个封包继续再发送,知道接受方回馈正确的信号.知道这个协议,你就很容易理解为什么我建议你限制上传的速度了如果你不限制你的上传的话,当你接受别人给你发送数据时,你回应就会慢一些设置回应不出去(因为回应是要走上传通道的),甚至对方没来得及等到你的回应就已经TIMEOUT了,然后他会继续把你已经收到的包继续发一遍又一遍,实际上浪费了频宽,表现在EMULE上就是速度慢了
本文作者曾将上传速度设的很高,结果下载明显减慢,按Athanasia坛主的FAQ重新设置后就好了。
b.假如你要从我这里下载一个文件,而我不从你那里下载任何文件,那么你在我这里的积分只能靠排队时间来慢慢积累,所以,无论你的上传速度有多高,都不会改变你在我这里的地位(这种一对一的互惠关系是emule的内部机制,无法人为干预)。
所以,我们要对上传速度设置给予足够的重视,我是按下载速度的1/2、1/3、1/4分别去尝试,找到一个最理想的值(不一定科学,至少比较简单)
2。源的远近
我们下载的文件源可能在国内,甚至在同一城市,也有可能在遥远的欧洲,这两种状况在下载速度上有很大区别:距离近,速度就快,距离远,速度就慢。我们和下载源之间的连接是通过服务器的(不是emule的服务器,而是电信,网通之类的ISP),距离越远,经过的服务器越多,那么像mmmxxx所描述的过程就越频繁,速度当然就快不起来,简单的例子:特快列车为什么比普通客车快?就是因为普通客车在每个小站都要停,上下客、加水之类的,耽误时间。
3。HighID/LowID的影响
实际上LowID并不直接降低下载速度,只是会使你得到相对少一些的源,从而间接地对影响下载速度。
- 其它机器不知道low ID的eMule运行的机器的IP,因此,所有的请求如队列或者连接到这个客户端必须由这个客户端连接的服务器转发。转发会耗费服务器的大量CPU资源,因此会缩小服务器能处理的最大客户端数量。 Lugdunum 服务器可以限制low ID用户的数量,甚至不让low ID用户连接。
- 两个都是low ID的用户不能互连,实际上在不同的服务器的low id用户甚至连消息也不能转发。这个导致了low ID用户下载的源少了很多。
- 在繁忙的服务器上经常会发生丢失信息的事情,eMule会错过了像队列进程或者下载请求等重要信息。这样你的积分会变少,下载也就更困难了。
4。源的数量
源越多,下载速度就越快,所有p2p下载工具都是这样的;但要具体分析,特别是源的远近起很重要的作用,我刚才做了个试验:我原先下载12个文件,源的数量平均在200左右,但都是国外的源,速度只有5KB/s左右,我找了一个《绿茶.rm》加入下载,只有1个源,可2分钟之后总的下载速度就达到30KB/s,足足提高了5倍!为什么?只《绿茶.rm》1个源就给了我25KB/s的速度!简单吧?
5。下载文件的流行程度
假设有两个文件,源的数量都是100,A是老片,现在下载的人不多;B是新片(或是梅艳芳的,很多人现在要收藏),下载的人很多,哪个下载速度快?肯定是B,为什么?同一时间内参与下载的人越多,分流的数量就多,大家都快。
6。emule连接的时间长短
用惯emule的朋友可能有这样的感觉,下载国外的东西时,往往是半个小时左右才开始有下载,然后速度逐渐提高。这就是排队的结果,你如果从A那里下载一个文件,要想尽快得到下载,就要从他那里多得分,一是他也下载你的某个文件,会给你加分,但这只是可遇而不可求的;再就是你在他的那里排队的时间长短,得分和你排队的时间成正比。
7。同时下载多个文件
p2p的原理决定了文件的下载是不连续的、非线形的、或然性的,死等一个文件是极大的浪费,也是其它原有下载方式给我们养成的惯性思维,记住:在emule里,“东方不亮西方亮”是一个基本准则,一般来说,同时下载20左右的文件比较合适。我最大的下载数曾达到107!硬盘要够大噢~~
8。加入好友
高得分的用户和好友将得到下一个上传通道。加入好友实在是要靠缘分的,一提这个,我想很多人都会摇头吧。。。。。。

1,限制上传速度其实可以提高你的下载速度,但你挣不了多少积分,对你以后下文件有影响,解决方法是下完后不限上传速度多做源。
  上传对下载有影响主要体现在非对称adsl上,上传和下载是共用一个信道的,上传快了下载当然慢了。
2,源的远近影响速度主要和你isp与其它源直接的带宽有关系,另外还和你的积分有关系,这个对于在欧美或者韩国源影响更大。(我在韩国服务器那里下文件就很快)
3,高低id的影响主要是国内源多的时候,因为国内很多都是低id。
4,国外源多的话影响速度主要看你的积分了。
5,下不流行的片子要注意他的完整性,如果不全,除非你很想下,最好别下。很多情况是等你把大家都有的下完了,缺的部分几天都下不了。我有次下一个152M的文件,几百个源都缺2M就完了,不关机,开了一周才下完,很郁闷。
7,最好把你的i/o缓存设高点,不然就只看见你的硬盘灯狂闪了。
8,使用verycd版可以提高下国内文件的速度,国外有可能恰恰相反(只有国外源的时候)。
最后说一句,要想速度快,多上传,这才是根本





欢迎光临 黑色海岸线论坛 (http://bbs.thysea.com/) Powered by Discuz! 7.2