MultiGet 文件下载器



home|首页
screenshots|截图
download|下载  [SSL]
docs|文档
forum|论坛
test report|测试报告



测试报告中文版(测试尚未全部完成,将逐步添加)


前言


测试报告为测试MultiGet性能而做,分本机测试,局域网测试,互联网测试三个方面。

测试主要是对比其他类似软件来进行。选取的软件有:downloader for X (d4x) ,wxDfast,prozilla,wget,axel,downthemall等。




第一部分   本机测试

1.1 单地址性能测试

1.1.1 MultiGet 和 d4x, wxDfast的本地测试对比

测试日期:2006/10/17

软件:MultiGet 0.8.3 , d4x 2.5.7.1 和 wxDfast 0.5.1

环境:本机上建立vsftp服务器,url地址ftp://localhost/49.rmvb,文件大小194580713 字节,内存512M,Ubuntu6.06

由于d4x不能解析localhost域名,在输入任务时用ftp://127.0.0.1/49.rmvb代替。

由于缓存的原因,采用交叉轮换测试取平均值。

第一次测试(5线程)

测试序号
测试程序
开始时间
结束时间
耗时
平均速度
1
MultiGet
18:04:02
18:04:54
52s
3654K/s
2
d4x
18:07:43
18:08:28
45s
4223K/s
3
MultiGet
18:10:12
18:13:03
51s
3726K/s
4
d4x 18:16:10
18:16:55
45s
4223K/s
5
MultiGet
18:20:05
18:20:43
38s
5001K/s
6
d4x 18:21:56
18:22:46
50s
3800K/s

第二次测试(5线程)

测试序号 测试程序 开始时间 结束时间 耗时 平均速度
1
d4x
19:57:22
19:58:09
47s
4043K/s
2
MultiGet 19:59:24
20:00:09
45s
4223K/s
3
d4x
20:01:20
20:02:09
49s
3878K/s
4
MultiGet
20:04:02
20:05:03
61s
3115K/s
5
d4x
20:09:02
20:10:08
66s
2879K/s
6
MultiGet
20:11:44
20:12:44
60s
3167K/s

 第三次测试(5线程)

测试序号 测试程序 开始时间 结束时间 耗时 平均速度
1
wxdfast
20:16:23
20:19:49
206s
922K/s

结论:可以看出wxdfast对于高速下载性能不佳,这应该归功于wxSocket 性能不佳。在头两次测试中,MultiGet和d4x的总耗时为307s和312s,MultiGet略短于d4x的总耗时。性能大体相当。在本机测试中 内存和硬盘可能都会成为瓶颈,所以数据有比较大的波动。


1.1.2 MultiGet 和 prozilla 的本地测试对比

测试日期:2006/10/19

软件:MultiGet 0.8.3 , prozilla(proz) v2.0.4

环境:同上

第一次测试(5线程)

测试序号
测试程序
开始时间
结束时间
耗时
平均速度
1
proz
19:57:00
19:57:56
56s
3393K/s
2
MultiGet
19:59:17
20:00:05
48s
3958K/s
3
proz
20:01:00
20:01:55
55s
3455K/s
4
MultiGet 20:03:16
20:04:03
47s
4043K/s
5
proz 20:04:30
20:05:26
56s
3393K/s
6
MultiGet 20:07:19
20:08:07
48s
3958K/s


结论:因为结果相差比较明显,没有像测试d4x的对比一样再做一次循环测试。 prozilla在大流量下处理速度逊色于MultiGet约15%,也逊色于d4x的处理能力。


1.2 本机多地址测试(待完成)


第二部分   局域网测试

2.1 单地址测试

测试一:

测试日期:2006/10/26

测试环境:服务器192.168.0.8,有线连接到路由器,FC3,512M,2.4G
客户端192.168.0.10,无线连接到路由器,Ubuntu 6.06,512M,1.7G
测试软件:MultiGet beta2,d4x 2.5.7.1,wxdfast,prozilla,axel
测试地址:http://192.168.0.8/testdown/01.rmvb  文件大小319535925字节 不限连接数

所有测试都是5线程下载。

数据:
测试编号
软件
开始时间
结束时间
完成任务用时
1
MultiGet
16:31:03 16:33:27 144s
2
d4x
16:35:46 16:37:54 128s
3
MultiGet
16:38:46 16:41:13 147s
4
d4x
16:43:22 16:45:45 143s
5
wxdfast
16:47:45 16:56:11 506s
6
axel
16:59:30 17:01:52 142s
7
proz
17:03:38 17:06:12 154s
8
d4x
17:08:40 17:11:06 146s
9
MultiGet
17:11:53 17:14:13 140s

结论:wxDfast在高速下载时仍是弱项,速度在620K/s左右上不去,其他数据基本接近,似乎proz略差些。因为有一个无线连接,可能会有速度上 的波动。所以个人怀疑第2个数据可能是有部分网络速度的波动影响,如果剔除2,5两个数据,其他的数据相差都不太远。总体上看,各种下载工具在这个测试环 境下表现都很接近。

2.2 多地址测试
暂未完成。

第三部分   互联网测试

3.1 单地址测试

3.1.1
MultiGet  对比 d4x (5线程下载)

测试一:


测试时间:2006/10/18 17:00 
软件:MultiGet 0.8.3 vs d4x 2.5.7.1

d4x不能给任务添加多个镜像地址,虽然有搜索服务,但在我这里打开这个功能经常崩溃,所以没办法对比多址下载,只对比单址下载吧。
首先挑选一个不限制连接数量的源,然后同时开始下载,观察各自的进度。
我选:
http://mirror.mcs.anl.gov/yellowdog/iso/yellowdog-4.1-sagitta-20060202-install1.iso 
文件长度671797248字节
先点d4x的确定,后不到1秒点MultiGet确定。

开始任务后,两者完成度比较接近,在3%时,MultiGet比d4x领先约10K,8%时d4x领先约4.5M,16%左右时两者持平,30%时 MultiGet领先约0.3M40%时d4x领先约2M,50% 时d4x领先约4.1M,60%时d4x领先约4.9M,70%时d4x领先约3.8M,MultiGet完成600M时,d4x完成614M,领先 14M,最终结果如下:


开始时间
结束时间
平均速度
MultiGet 0.8.3
16:37:03
18:33:14
94.11Kb/s
d4x 2.5.7.1
16:37:03
18:30:49
96.11Kb/s

结论:MultiGet和d4x速度接近,平均速度相差2%,可能是 MultiGet处理包的速度略差,也可能是网络波动恰好倾向于d4x,对于互联网的情况,这样的波动范围应该可以接受,以一次的测试无法得出结论说 MultiGet速度比d4x差,可能需要更科学的方法或更多次的平均才可以下结论。我将在以后多做几次类似的测试。


测试二:


测试时间:2006/10/22 20:31

软件:MultiGet 0.8.5 vs d4x 2.5.7.1

这次我选这个地址来对比:
http://mirror.lupaworld.com/redhat/shrike-i386-disc1.iso
文件长度669122560字节,这个地址不限连接,两个测试程序都可以达到5个连接数。

结果非常戏剧性,两者运行时间完全相同。中间段互有领先,但幅度都很小。


开始时间
结束时间
平均速度
MultiGet 0.8.3
20:31:58
22:13:37
没计算
d4x 2.5.7.1
20:31:58
22:13:37
没计算

结论:MultiGet 和 d4x 单地址下载情况下性能太接近了,每次测试都差不多,这次更加巧合。可惜不能对比d4x的多地址下载。这次查了MD5,两个都对。


3.1.2 MultiGet 0.8.5 对比 prozilla (5线程下载)

测试时间:2006/10/22 10:15

prozgui在我的机器上不能正确运行(添加任务就死),所以选控制台界面的prozilla来做比较测试,这次选择国内的源来做
http://mirror.lupaworld.com/redhat/shrike-i386-disc1.iso
文件长度669122560字节,这个地址不限连接,两个测试程序都可以达到5个连接数。
先运行proz,后不到1秒点MultiGet确定。

记录到各自的完成比例对比如下:

数据记录点 1
2
3
4
5
6
7
8
9
10
MultiGet 0.8.3
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
proz v2.0.4
9.2%
17.7%
27.2%
36.9%
46.7%
56.8%
66.5%
76.7%
86.5%
96.2%

运行时间:
MultiGet  10:15:50 -> 10:33:22=1042s   平均速度=627Kb/s
proz         10:15:50 -> 10:35:13=1163s   平均速度= 562Kb/s

proz速度比MultiGet差约10%

结论:proz的速度似乎比MultiGet略差,当然在互联网测试,数据是容易出 现波动的,不能以一次测试下定论,我没有连续再做一次同样的测试,因为这个下载地址太快了,测试时占用了我的太多带宽,两个同时运行时接近 1200Kb/s的速度,我怕再次烧了路由器。



3.2 多地址测试

3.2.1 MultiGet 0.8.3 对比 wxDfast 0.5.1(5线程下载)


测试时间:2006/10/17  约23:00


测试选取如下7个镜像地址,都是国外的源:
ftp://ftp.netrunner.nu/pub/desktopbsd/DesktopBSD-1.0-x86-CD.iso
ftp://ftp2.genotec.ch/pub/DesktopBSD/DesktopBSD-1.0-x86-CD.iso
ftp://ftp.solnet.ch/mirror/DesktopBSD/pub/DesktopBSD-1.0-x86-CD.iso
ftp://ftp.cs.pu.edu.tw/BSD/DesktopBSD/pub/DesktopBSD-1.0-x86-CD.iso
ftp://ftp.xenophase.net/mirrors/DesktopBSD/DesktopBSD-1.0-x86-CD.iso
ftp://ftp.ussg.iu.edu/pub/DesktopBSD/DesktopBSD-1.0-x86-CD.iso
ftp://desktopbsd.mirrors.tds.net/pub/desktopbsd/DesktopBSD-1.0-x86-CD.iso

同时(wxdfast提前大约1秒)运行wxdfast和MultiGet,这是考虑到网络情况在不同时间有不同的状况,同时运行才有一定 的可比较性。两个程序都设置成5线程下载。程序开始后,MultiGet逐渐领先于wxdfast,从领先%1开始,一路增加领先度,在MultiGet 完成50%时,我开始记录各自的完成比例如下:

数据记录点
1
2
3
4
5
MultiGet
50%
60%
70%
80%
90%
wxDfast
41%
49%
57%
67%
75%

结论:MultiGet在处理多地址下载时,性能远胜于wxDfast,这主要是MultiGet采用动态任务切换和动态地址切换,能够自动优选地址,而 wxDfast静态分片任务,完成后线程退出,且不会动态优选好的地址。而且当MultiGet接近完成时,wxDfast没和我打招呼,从我的眼前彻底 消失了,最后一个数据点因此没有取到。在wxDfast意外退出后,我终止了MultiGet下载。


3.2.2 MultiGet 0.8.3 对比 axel v1.0b(5线程下载)

测试时间:2006/10/18  19:10:25

同时(MultiGet提前大约1秒)运行axel和MultiGet,这是考虑到网 络情况在不同时间有不同的状况,同时运行才 有一定的可比较性。两个程序都设置成5线程下载。程序开始后,10%时基本持平,从此一路领先,记录各自的完成比例如下:

数据记录点 1
2
3
4
5
6
7
8
9
10
MultiGet 0.8.3
10%
20%
30%
40%
50%
60%
72%
80%
90%
100%
axel 1.0b
10%
18%
26%
35%
44%
53%
63%
65%
70%
74%

MultiGet完成后axel继续运行。实际使用时间如下:
MultiGet运行时间: 19:10:25--20:48:31
axel运行时间:19:10:25--21:24:00(到此刻仅完成84%,只有三个线程在工作中,不等它结束了。)

结论:axel采用的任务分配算法和wxdfast类似,都是静态的任务分片,线程完成自己的任务片后就退出了,这使得程序在后半段的速度差距尤其明显。 至于是否会自动地筛选地址,因为axel没有输出相关信息所以没有观察到。




sourceforge logo