(一)影响速度的相关因素
首先需要申明的是:
eMule并不是以下载速度快而著称的,而是以互联分流下载的这种形式而流行的!
没有绝对的高速下载。高ID的速度并不是一定就快。低ID的速度并不一定就慢。这都是相对而言的。高ID只不过在源的选择上要比低ID有优越性。可以在较短的时间内搜索到很多的源。其他方面都是差不多的。低ID如果设置得当,如果源的质量和数量都不错,也是可以获得很不错的下载速度的。我使用高ID的时候,下载速度在10KB/s以内也是很常见的。而使用低ID的时候,达到40-50KB/s的速度也是完全可以的。
影响下载速度的因素有很多:
1。源的质量和数量
2。High ID (防火墙和路由的设置);
3。当地的网络情况(如果当时网络比较拥挤也是会有影响的)
4。你和所连接服务器之间的距离
5。下载资源的流行程度(就是下载的人数)
6。eMule的设置(一定要适合自己的实际情况才行)
7。你下载选择的时间(开机的人比较少的时候速度也会受影响)
8。还未普及的文件(例如新发布的资源)或者源很少的文件、或者临时文件(part)有损坏都会影响下载速度。
希望大家对eMule的下载速度能有一个理性的认识。如果你是下载速度的盲目追求者,那么eMule真的不适合你!
(二)HighID与LowID的相关知识
一、LowID与HighID在下载与上传时,可以连接到的用户
1、主动下载时,你可连接到的用户:
══════╤══════╤═══════
用户|同服务器|其它服务器
══════╪══════╪═══════
HighID ———所有用户———HighID
LowID———HighID———HighID
══════╧══════╧═══════
2、被动上传时,可连接到的你用户:
══════╤══════╤═══════
用户 |同服务器 |其它服务器
══════╪══════╪═══════
HighID———所有用户———所有用户
LowID———HighID————无
══════╧══════╧═══════
可以看到,HighID与LowID的情况是多么的不同,HighID在主动下载的时候,除了位于其它服务器的LowID外,都可以连接的到,而LowID只能连接到所有的HighID。而被动上传的时候,几乎所有的用户都可以连接到HighID,而对于LowID来说,只有本服务器的HighID可以连接到你。
二、来源的查找方式
上面说到的只是理论过程,对于一个用户来说,获得来源的过程是多样的。由于获得来源是一个主动的过程,我们只能拿主动下载为例说明了。
1、本服务器查询
对于任何性质的用户,当你开始下载一个文件的时候,首先是向你所登陆的服务器提出源查找请求,服务器会根据你的请求查找登陆用户中是否有你需要的源,如果有,就会替你牵线搭桥,同时,你还会向所有服务器列表中的服务器发出源查找请求,同样的,其他服务器也会替你找到需要的源。
通过这种方式找到的源,在你的EM里显示为:ED2K Server。
2、通过用户来查询
当你找到一批用户以后,另一种查找源的机制开始运作了,那就是“来源交换”。你刚开始下载,不可能找到非常多的来源,而你找到的这些来源,有的已经下载了很久,在他的来源列表中,会有许多来源是你没有的,EM会向这个用户发出交换来源的请求,这个用户会把自己的“客户”介绍给你。通过这种方式找到的来源,在你的EM里显示为:来源交换(或Souce Exchange)。
如果你列表中的用户数量比较少,EM默认向所有用户发出请求,如果比较多,EM只是随机的抽取部分用户发出请求。现在,打开用户列表,你会发现这种方式找到的用户数量已经占了大多数,这样应该可以减少不少服务器的负担。
3、被动方式
首先,这并不是一种新的源查找方式,只是在特定方式下的一种工作方式,而这种方式只发生在HighID与LowID之间,而且,二者同时在下载一个文件,且都没有全档。
从前面可以看到,在主动下载的时候,位于S1服务器的HighID(A)不能连接到位于S2服务器的LowID(B),而B却可以连接到A,这样就产生了一个矛盾,二者之间的通讯变成了单向的,只能通过B来发出请求,向A索取资源,而A只能“被动”的知道B那里有没有自己需要的东西,从而进行下载。被动方式由此得来。
这种方式一旦形成,在双方的EM里显示的,都是:被动方式(或Passive)。
但是,我也同时发现,位于同一个服务器的两个用户也出现过这样的工作方式,这种情况的出现,很有可能是因为二者都在同时下载一个文件,而且没有全档,为了节省资源,而默认由LowID一方控制上传与下载,HighID一方被动参与造成的。
三、连接服务器
主动下载的时候:
1、LowID,连接服务器不要过于挑剔。一般连接国内大型的服务器就可以了。你主动下载的时候,可以通过几种方式找到大部分的源,而与服务器无关。
2、HighID,如果你主动下载,连服务器还是很有学问的,关键就是那个文件的源的LowID的分布状况了。一个极端的例子,所有的HighID都没有这个文件,所有资源分布在LowID手里(这种情况是有的),如果你这个服务器上的LowID只有几个有资源,而且速度还慢,你会郁闷死的,而另一个服务器上有许多LowID手里有这个文件,且速度飞快,你就应该登陆那个服务器。
被动上传的时候:
1、HighID们,也不用对服务器太挑剔。除非你连的那个很“冷门”,要不然几乎所有需要你文件的人都会找到你的。
2、LowID,只能找一个需要你文件多的、HighID多的服务器登陆了。
(三)速度相关问题分析与解答
1。我是高ID用户,为什么我的下载速度还是很慢,甚至有的时候比低ID还要慢!?
解答:高ID和低ID的区别并不于下载速度的高低!高ID的优越性体现在对于下载源的搜索和选择上,因为高ID既可以在高ID之间相互通信,还可以和低ID的用户之间相互通信。而低ID的用户只可以和高ID用户之间进行通行!低ID用户之间是不可以进行通信的,必须由高ID用户来做一下中转才可以。
影响下载速度的因素我在上面已经列举的很清楚了。这里就不再重复了~!使用高ID的用户,如果你下载的资源目前的源的数量比较少的话,当然没有办法得到比较理想的速度。使用低ID的用户,只要你下载的资源目前比较流行~!有较多质量比较好的源,获取比较理想的速度也是很正常的。
2。为什么我下载的资源,在开始下载的时候速度可以达到很高,可是过一会就降下来了,甚至为0!?
解答:在开始下载资源的时候,很有可能因为你下载的资源有很多朋友也正在下载。因此相对于你来说,源的数量和质量都可以得到保证,给你提供分流的朋友有很多。因此你的速度一般都会很快。可是一旦你下载完成了一部分之后,你所缺少的源的数量就会逐渐下降。毕竟拥有完整资源的用户并不是很多。源的扩散和分流也是需要一个缓冲的过程。除非是你下载的资源已经有很多的朋友都已经下载完成,并且大家都提供分流。你下载的速度自然而然的会很理想。这也就是eMule一直提倡的“人人为我,我为人人”的一种体现。
3。我是高ID用户,下载某些资源的时候可用源的数量也很多,可为什么下载的速度依然很低!?
解答:eMule设计之初,为了奖励上传者和鼓励大家多多上传而设置了“积分规则”。关于积分的概念在FAQ中有很详细的说明,这里就不再重复了。当你搜索到的的可用源比较多的时候,下载就会涉及到积分和队列两个概念。因为一个ID在一个源那里只可以有一个通信连接,不管你需要在他这里下载多少资源都只允许你使用一个连接。那如果多个ID需要在同一个源那里下载的话,就会需要来下载的ID按照一定的“队列”顺序下载。队列位置的主要依据是你在这个用户里面的“积分”!通俗的说:你在他这里的积分越高,你在队列的位置就越靠前。相反的,如果你在这里的积分比较少的话,自然而然排队等待的时间就比较长。还有就是,并不是说积分高的就一定排在队列的第一位,eMule里面还有很多其他的相应措施来平衡“积分”和“队列”之间的关系。尽可能的做到人人平等。搞清楚了“积分”和“队列”这个问题就不难理解了~!虽然你的可用源有很多,可你在可用源那里的积分如果不是很高的话,就需要排队。这自然会影响到你的下载速度。因此,上传是非常重要而且有必要的。