(一)影響速度的相關因素
首先需要申明的是:
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、主動下載時,你可連接到的用戶:
?T?T?T?T?T?T?h?T?T?T?T?T?T?h?T?T?T?T?T?T?T
用戶 | 同服務器 | 其它服務器
?T?T?T?T?T?T?n?T?T?T?T?T?T?n?T?T?T?T?T?T?T
HighID ———所有用戶———HighID
LowID———HighID———HighID
?T?T?T?T?T?T?k?T?T?T?T?T?T?k?T?T?T?T?T?T?T
2、被動上傳時,可連接到的你用戶:
?T?T?T?T?T?T?h?T?T?T?T?T?T?h?T?T?T?T?T?T?T
用戶 | 同服務器 | 其它服務器
?T?T?T?T?T?T?n?T?T?T?T?T?T?n?T?T?T?T?T?T?T
HighID———所有用戶———所有用戶
LowID———HighID————無
?T?T?T?T?T?T?k?T?T?T?T?T?T?k?T?T?T?T?T?T?T
可以看到,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裡面還有很多其他的相應措施來平衡“積分”和“隊列”之間的關系。盡可能的做到人人平等。搞清楚了“積分”和“隊列”這個問題就不難理解了~!雖然你的可用源有很多,可你在可用源那裡的積分如果不是很高的話,就需要排隊。這自然會影響到你的下載速度。因此,上傳是非常重要而且有必要的。