BitTorrent 下載工具可以說是一個最新概念 P2P 的下載工具、它采用了多點對多點的原理,一般簡稱 BT(BitTorrent) 也就是大家所說的變態下載。該軟件相當的特殊,一般情況下我們下載數據,大都由 HTTP 站點或FTP 站臺下載,若同一時間下載人數過多時,基于該服務器帶寬的因素,速度會減慢許多,而該軟件卻恰巧相反,它提出了“下載的人數越多,下載的速度越快”的口號,無疑是對HTTP、FTP這些傳統的下載方式提出了挑戰。
因此我們提出了幾個問題!第一,網絡上經常有人說BT下載非常傷硬盤,那么究竟是不是這樣呢?第二,BT和傳統的下載方式相比又有哪些優勢呢?第三,架設一臺BT服務器會對服務器本身有什么影響呢?最后,我們還要為大家解釋,如何使用BT下載會比較合適?
實踐是檢驗真理的唯一標準,下面我們將用一個10M/100M的以太網環境模擬測試一下BT!用過校園網的朋友都知道由于校園網往往是多個局域網搭建而成,在校園網的10M暢順的環境下,不少BT下載的速度可以達到800多k,可以說讀寫相當的頻繁,加上BT下載的文件通常都是數以G計,時間冗長。我們模擬這樣的環境下,可以充分給硬盤足夠的負荷。
首先介紹幾款這次測試中特別考驗的主角,它們都有各自的代表性,分別是高端、中高端、主流等:
首先的是這款型號為ST3200822AS的7200.7硬盤。我們知道目前市場最高單碟已經不是是80GB,這款硬盤的單碟達到100GB已經遙遙走于市場前面,它的容量為200G,轉速為7200轉,平均尋道時間為8.5ms,采用的是SATA 150接口,種種先天優勢給了它有BT的資本。
早前的三星硬盤給大家的印象是性能都不突出,有人更形象比喻成使用三星硬盤仿佛少插了一條內存,只是三星硬盤噪音比較小,不過經過這一段時間的驗證,已經發現三星SATA硬盤和早前的IDE硬盤的改進相當的大,性能有不少的提升,噪音依舊控制的很好。奇怪的是在硬盤側面有一個金屬膜的氣孔,設計在側面不太合理,很容易弄破,而又不給予保修。這次參加測試的是SP1614C,160GB容量,7200轉,8M緩存,是目前家用的中高端配置級。
再熟悉的不過的金鉆9 雖然只有80GB硬盤,轉速7200轉,2MB緩存,但是在1年前的現在依然是叱詫一時的產品,因此,目前很多裝完機一年或者當時升級的用戶在現在都是使用這一款硬盤,或者相近的級別,所以更為貼近我們的測試。
參與測試的有五臺機器,網卡和交換機都使用100M的,雖然機器數目和真正的WAN相比是少了很多,但是只要能說明問題就行,而且在這個100M的網絡環境中,帶寬已經獲得了徹底的解放!5臺機器中,其中一臺將被配置成真正的BT服務器,而其他的4臺機器作為BT的客戶機從服務器下載數據!BT服務器的IP地址為:192.168.1.100,同時該服務器被配置為DHCP Server,其余的4臺客戶機從該服務器獲取IP地址,這樣做是為了盡量避免IP地址沖突,而且無須設置IP,自動獲取即可!
BT是基于P2P的原理,所以如果同時把所有參加測試的機器的情況都列出,可能會雜亂無章,因此,我們主要記錄BT服務器的測試情況!服務器使用世界上第一塊帶超線程技術的桌面CPU——P4 3.06 GHz,1GB內存,超過400GB硬盤(詳細配置請看下表)!
|
硬件平臺 | |
|
CPU |
Intel P4 3.06 GHz,533MHz FSB,512KB二級緩存,支持HT |
|
主板 |
華碩P4P800(北橋:865PE ,南橋:ICH5) |
|
內存 |
512MB*2 KINGSTON DDR333 |
|
硬盤 |
2*金鉆九代80GB(2MB Cache,ATA133)通過主板自帶的Promise PDC20276 RAID芯片組建成RAID0,三星SP1614S(8MB Cache,SATA150),ST3200822AS的200G(8MB Cache,SATA150),單獨使用 |
|
顯卡 |
耕升GF4 MX440(AGP4X) |
|
聲卡 |
RealTek ALC650 |
|
操作系統 |
Microsoft Windows 2000 Server 簡體中文版 with Service Pack 4 |
|
驅動程序 |
Intel Chipset Software Installation Utility 5.1.1.1002,Intel(R) Application Accelerator 2.3.0.2160,雷管FX驅動52.16 WHQL版 for Win2k/XP,Promise PDC20276 Driver for Win2k,ALC650 driver 5.10.0.3990,DirectX 9.0b |
|
服務器組件 |
DHCP Server,IIS 5.0,DNS Server,WINS Server, Python23, BitTorrent 服務器程序3.1,BitTorrent Plus! II 1.01 Final 簡體中文版 |
由于是服務器,穩定壓倒一切,因此我們仍然使用發布已久的Windows 2000 Server,而不是使用Windows Server 2003,操作系統安裝于RAID0上,兩個WD1200JB的硬盤分別分成兩個區,所有的分區均使用NTFS文件系統;客戶機則統一使用Windows XP Professional with Service Pack 1。至于BT服務器的搭建,相信很多朋友都會,在這里就不多說了!我們準備了一個3GB的文件放于其中一個WD1200JB的硬盤上,并做出其相對應的BT文件(塊大小為256KB),當然少不了統一的下載頁面!我們將會使用系統自帶的“性能監視器”配合“事件日志”和“任務管理器”依次測試1個、2個、3個BT種子時服務器的工作狀態,BT服務器上只放置一個BT種子,而其他的種子則放到客戶機上,這和WAN上的情況較相似,“性能監視器”的采樣密度設為每秒鐘采樣一次!
準備工夫做好后就是一步一步的測試了,在這里筆者使用的BT客戶端軟件是BitTorrent Plus! II 1.01 Final 簡體中文版!我們先在服務器上啟動BT服務,再做好第一個種子,之后每組測試都要用到這顆BT種子,而第2、第3個種子則由客戶機從服務器下載完畢做成;在每組測試當中,客戶機下載完以后均不關閉BitTorrent Plus;每組測試中參與測試的客戶機均是同時從鏈接頁面點擊下載;每組測試開始之前,服務器和客戶機都必須重新啟動,并且在每組測試完成之后,我們都會將客戶機下載到的3GB文件和BT文件刪除,以免影響下一輪的測試;每一組測試的時間都是從點擊下載開始算,直到最后一臺客戶機完成下載為止!
我們看看測試的結果。
第一組測試是BT種子數為1時候的成績:隨著下載人數的增加,CPU使用率有減緩的趨勢,不過不太明顯,這可能是因為下載人數增加的時候,雖然客戶機是同時點擊下載,但是畢竟每臺客戶機的下載速度都不完全相同,客戶機之間就存在BT資源塊的互相拷貝,間接的降低了服務器的負擔,也因為這樣,BT服務器上傳的最大速率也出現了下降的趨勢,說明硬盤和網絡帶寬的負荷也有所減輕;而內存的使用量則呈現略為增加的趨勢,內存增量不太大,不過也別高興得太早,畢竟這里才四臺客戶機,如果在WAN上,那可是成千上萬個結點;不知大家注意到了沒有,服務器的上傳速率最高才是1.2MB多一點,這和100Mbps的以太網環境好象不太相稱,可是卻是真實的結果;而結果的最后一列真是讓人大跌眼鏡,居然隨著下載人數的增加,下載完畢所用的時間也隨著增加,這似乎和“下載人數越多,下載速度越快”的口號有沖突:-(是不是這樣呢?下段自有分曉!
|
下載的客戶機數目 |
客戶機下載期間,服務器的CPU使用率超過10%的次數 |
BT進程在服務器上占用內存數最大值(KB) |
BT服務器上傳的最大速率(KB/秒) |
最后一臺客戶機下載完畢所用的時間(秒) |
|
0 |
0 |
10096 |
0 |
0 |
|
1 |
202 |
10892 |
1227 |
2337 |
|
2 |
177 |
11356 |
986 |
5582 |
|
3 |
181 |
12206 |
945 |
6673 |
|
4 |
173 |
12885 |
912 |
7351 |
第二組測試是BT種子數增加到2個的成績:從下表中我們可以看到,隨著下載人數的增加,CPU占用率、上傳速率都有所減少,內存的使用數依然上升,這可能跟下載用戶的增多有關系,畢竟BT進程要在內存中多開辟數據緩沖區;我們還能看到,隨著下載人數的增加,客戶機下載完畢所用的時間縮短了,和上表對比一下,在下載人數相同的情況下,2個BT種子的時候確實比1個BT種子時的下載速度快、下載所用的時間也短!到這里,相信各位讀者都明白了,其實——“下載人數越多,下載速度越快”的準確說法應該是:BT種子數越多,下載速度就越快!大家不妨思考:如果人人下載完BT資源以后都把自己用的BitTorrent關掉,那么大家的下載速度都會慢的,因為——種子少了!
| 下載的客戶機數目 | 客戶機下載期間,服務器的CPU使用率超過10%的次數 | BT進程在服務器上占用內存數最大值(KB) | BT服務器上傳的最大速率(KB/秒) | 最后一臺客戶機下載完畢所用的時間(秒) |
| 1 | 171 | 12564 | 804 | 2112 |
| 2 | 165 | 12986 | 711 | 2087 |
| 3 | 161 | 13142 | 684 | 1992 |
最后看看第三組測試,這是3個BT種子的測試組,結論和第二組測試差不多,只是服務器的負擔更加輕、下載速度更加快了!
| 下載的客戶機數目 | 客戶機下載期間,服務器的CPU使用率超過10%的次數 | BT進程在服務器上占用內存數最大值(KB) | BT服務器上傳的最大速率(KB/秒) | 最后一臺客戶機下載完畢所用的時間(秒) |
| 1 | 163 | 11732 | 612 | 1588 |
| 2 | 155 | 12035 | 532 | 1434 |
溫度一直是硬盤的天敵,做完了整個測試,我們對幾款同時進行溫度統計,我們發現在持續BT下載2個小時后,硬盤溫度普遍都超過了55度,其中為一臺客戶機上的IBM硬盤發熱量最為大,達到了接近70度。而三星溫度為63度左右,希捷為66度。金鉆硬盤溫度為62度但有一些小的異響。
因此,我們在使用BT進行下載時,由于我們通常會采用多個任務同時進行,或者BT中間還會進行一些其他的操作,所以在這里小編還要提醒大家,必須做好對硬盤的散熱工作,并且盡可能加大所使用的內存容量,512MB已經屬于標準配置而已,有條件的朋友可以盡量地增加,這樣可以防止硬盤不斷地反復刻讀,而使得盤片過熱,出現狀況。
總結:
BT確實是一種優秀的下載方式,它有傳統下載方式無法比擬的優勢,原因在于它使用了P2P的資源共享模式,充分地利用其他下載者的網絡帶寬和硬件資源,最關鍵的就是:隨著下載連接數的增長,服務器的負擔越來越輕,不但是CPU資源,還有網絡、存儲器的帶寬占用也隨之降低,可是卻不影響下載速度!不過,使用BT卻有不少需要注意的地方:如果組建真正意義上的BT服務器,強勁的CPU肯定是少不了的了,然后必須配備足夠多的內存了(多少才夠?當然是越多越好了:-),硬盤是相當關鍵的一個環節,應該盡量選擇尋道時間短、緩存大的硬盤,最好能用磁盤陣列;如果您只是使用BT的客戶端軟件,那么就應該注意,當你下載完以后,你的硬盤上又多了一顆BT種子,倘若你關閉了你的BT,那么網絡中就少一顆BT種子,如果大家都那么自私,BT將不復存在,因此,您應該盡量開著BT,當然,也不是叫大家交電費,只是——大家應該盡量發揚“共產主義”精神吧!有了BT,你的服務器都會長命很多啊!

