两年前写的一个关于六款WEB上传组件性能测试与比较
来源:岁月联盟
时间:2005-06-22
自带组件Aspupload3.0
组件FileupV4.01
组件Lyfupload
1.2B组件梁无惧无
组件上传类化境无组件上传类 第一次
测试测试时间20:4416:5416:5516:5516:5516:55 所用时间(秒)0.0156 0.0313 0.0781 0.0625 0.0313 1.9844 第二次
测试测试时间20:4516:5516:5516:5616:5716:57 所用时间(秒)0.0313 0.0313 0.1094 0.0625 0.0313 1.9531 第三次
测试测试时间20:4616:5816:5816:5816:5716:57 所用时间(秒)0.0313 0.0313 0.0938 0.0469 0.0313 1.9688 平均传输时间(秒)0.0260 0.0313 0.0938 0.0573 0.0313 1.9688 平均传输速度
(字节/秒)2796203 2097152 712366 1165084 2097152 33290 传输比(%)100.00%75.00%25.48%41.67%75.00%1.19%(说明:传输比假设最高传输速度者为100%,统计其它传输率与它的对比,下同。)上传速度对比图


(从左至右为:asp.net,aspupload3,safileup4.01,lyfupload, 梁无惧无组件上传类, 化境无组件上传类)点评:在这一组测试数据中,.net自带组件成绩大幅度领先其余的上传组件,化境无组件上传类成绩最差,二者的成绩几乎差别达到100百倍;aspupload3与梁无惧无组件上传类以超过2M/s的成绩居于第二。从CPU使用记录中抓图得到的图形来看,前五个上传组件在上传时几乎对CPU使用毫无影响,但化境无组件上传类产生了一个瞬间的高峰,CPU占用率达到100%。一般来说,在企业内部可能大量上传文档,前五个上传组件极低的CPU占用率非常令人满意,但最后一个上传组件竟然出现100%的CPU占用率,令人遗憾。2、第二组测试结果文件名称:上传测试文件02.zip 文件类型:压缩文件 文件大小:541369 字节组件名称Asp.net自带组件Aspupload3.0组件FileupV4.01组件Lyfupload1.2B组件梁无惧无组件上传类化境无组件上传类第一次测试测试时间20:4616:5816:5816:5916:5916:59所用时间(秒)0.5625 0.7656 1.5000 0.8594 0.7031 16.8125 第二次测试测试时间20:4617:0017:0017:0017:0117:01所用时间(秒)0.5469 0.6094 1.7188 0.7188 0.6875 16.5625 第三次测试测试时间20:4617:0417:0317:0317:0317:02所用时间(秒)0.5469 0.7656 1.2813 0.7188 0.8906 16.9844 平均传输时间(秒)0.5521 0.7135 1.5000 0.7656 0.7604 16.7865 平均传输速度(字节/秒)980766 767530 366141 712125 721749 31313传输比(%)100.00%78.26%37.33%72.61%73.59%3.19%上传速度对比图


(从左至右为:asp.net,aspupload3,safileup4.01,lyfupload, 梁无惧无组件上传类, 化境无组件上传类)点评:在这一组测试数据中,第一名与最后一名依然与第一组相同,但差距拉小到30倍左右。从测试数据来看,各组传输率均有大幅度下降,且各组间的传输速度高低差也逐步拉小;奇怪的是第六个组件的传输速度下降最不明显,不到10%。从CPU使用记录图来看,各组均出现CPU占用高峰,除.net组件外(不到100%),其余五个组件均出现100%的占用率,第六个组件(化境无组件上传类)占用100%时间最长。 本次测试的上传文件大小约为0.5M,属于常见的文件大小,从上面的测试结果来看,除第六个组件外,表现均较为良好,可以接受。3、第三组测试结果文件名称:上传测试文件03.chm 文件类型:chm文件 文件大小:2305833字节组件名称Asp.net自带组件Aspupload3.0组件FileupV4.01组件Lyfupload1.2B组件梁无惧无组件上传类稻香老农无组件上传类第一次测试测试时间20:4717:0717:0717:0717:0617:06所用时间(秒)1.7344 3.8281 7.2969 4.3750 4.1094 72.7344 第二次测试测试时间20:4717:0917:0917:0917:1017:11所用时间(秒)1.6875 3.5313 6.2031 4.1563 4.2813 73.4688 第三次测试测试时间20:4717:1417:1417:1517:1517:26所用时间(秒)1.7031 3.1719 6.4531 4.3438 4.1875 74.3125 平均传输时间(秒)1.7083 3.5104 6.6510 4.2917 4.1927 73.5052 平均传输速度(字节/秒)894458 565315 418696 537558 550117 31372 传输比(%)100.00%63.20%46.81%60.10%61.50%3.51%上传速度对比图


(从左至右为:asp.net,aspupload3,safileup4.01,lyfupload, 梁无惧无组件上传类, 化境无组件上传类)点评:这一组数据情况发生了有趣的变化,第一名与最后一名的位子仍然不动,但原来默默无闻的FileupV4.01组件的成绩却有了明显的提高,从第一组测试成绩到现在,该组件与其他组件的差距在不断的缩小,本次测试更是在其他组传输速度出现普遍出现下降的情况下,它反而提升了传输速度,这说明该组件的优势之处并不在上传小文件,文件越大,该组件的性能越能够体现。从CPU使用记录图上看,各组软件之间的CPU占用图形均达到了100%的占用,但也出现了细微的变化,其中,.net自带组件的图形最好,呈现一种瞬间达到的状态,头部为尖形;aspupload3组件在CPU占用率达到100%前曾有短暂的CPU占用小高峰,之后才达到100%占用,FileupV4.01组件情形类似,只是CPU100%占用的时间比较长些;Lyfupload1.2B组件与梁无惧无组件上传类在上传前并未先形成较小的CPU占用率,而是一开始就达到,直到结束上传文件,才降低了占用率;化境无组件上传类的情况是所有上传组件中最不理想的,长时间的100%CPU占用率,而仅仅是在上传一个2.3M的文件而已,竟然出现了整整超过70秒钟的100%CPU占用率4、第四组测试结果文件名称:上传测试文件04.rar 文件类型:压缩文件 文件大小:7015245字节组件名称Asp.net自带组件Aspupload3.0组件FileupV4.01组件Lyfupload1.2B组件梁无惧无组件上传类化境无组件上传类第一次测试测试时间20:4917:1817:1817:1917:1917:23所用时间(秒)4.0000 6.9375 10.2344 22.1875 23.5781 233.1406 第二次测试测试时间20:4917:2717:2817:2817:2917:33所用时间(秒)4.0000 5.4531 7.9375 21.8906 22.1094 228.4063 第三次测试测试时间20:4917:4117:4117:4017:3917:39所用时间(秒)4.0000 6.4063 7.0156 21.9688 22.0938 229.1719 平均传输时间(秒)4.0000 6.2656 8.3958 22.0156 22.5938 230.2396 平均传输速度(字节/秒)2338415 1130911 856405 318659 310784 30472 传输比(%)100.00%48.36%36.62%13.63%13.29%1.30%说明:asp.net测试记录时间三次均为0.1563秒,但从CPU占用图表上明显可以看出测试自动记录的时间不准确(原因不明),通过估算CPU占用图上的时间,大约为4秒左右,测试6情况与此相同上传速度对比图


(从左至右为:asp.net,aspupload3,safileup4.01,lyfupload, 梁无惧无组件上传类)点评:本组测试数据发生了根本性的变化。测试上传数据为7M,一般应用中很少有如此大的上传量,在上传量大幅度增加的时候,各组件上传性能的优劣完全一目了然。.net自带组件在本组测试数据中脱颖而出,远远超出其他上传组件(超过一倍以上),上传速度之快、占用CPU时间之短令人侧目,唯一遗憾的是CPU占用率还不能拿到第一;ASPUPLOAD3组件也表现出了优秀的性能,它的CPU占用率是六个组件当中最小的,仅仅在40%左右;FileupV4.01组件的性能居于ASPUPLOAD之后列第三,从CPU占用图形上看,两者CPU占用图走势非常相似,差别仅是所用时间长一点,CPU占用率稍高一点;Lyfupload1.2B组件与梁无惧无组件上传类成绩雷同,CPU占用图走势几乎一样,CPU占用时间达到22秒,而且从开始到结束均为100%占用,不能令人满意;居最后的化境无组件上传类的情况最不理想,由于长达200余秒的100%CPU占用率,令其CPU占用图都无法容纳得下它,小庙难以容下大菩萨啊,它的图形只好不列入观看了。从CPU占用图上看,六个上传组件明显分成了两种截然不同的传输数据风格,前三种上传组件在上传较大数据时,其传输率竟然比上传2M文件时大幅提高,而且CPU占用率大大下降,最低竟然达到40%;后三种上传组件上传较大数据时,传输率进一步下降,CPU占用率进一步提高,所耗上传时间相应增加。从两种传输风格来看,前一种的三个组件均为国外组件,后一种的三个组件均为国内组件,这能说明什么问题呢?5、第五组测试结果文件名称:上传测试文件05.chm 文件类型:chm文件 文件大小:14083055字节组件名称Asp.net自带组件Aspupload3.0组件FileupV4.01组件Lyfupload1.2B组件梁无惧无组件上传类化境无组件上传类第一次测试测试时间20:5017:4317:4417:4617:57速度太慢,不参与测试(传输时间超过500秒)所用时间(秒)14.2813 26.6406 47.1719 104.1250 100.7500 第二次测试测试时间20:5017:5817:5918:0118:03所用时间(秒)13.7344 25.2969 42.5781 101.6719 101.8281 第三次测试测试时间20:5118:0518:1018:0818:12所用时间(秒)13.5781 25.8438 41.5625 101.2188 101.3438 平均传输时间(秒)13.8646 25.9271 43.7708 102.3386 101.3073 平均传输速度(字节/秒)1016232 543424 322715 137634 139016 传输比(%)100.00%53.47%31.76%13.54%13.68%上传速度对比图


(从左至右为:asp.net,aspupload3,safileup4.01)点评:本组测试由于化境无组件上传类测试成绩较差,早早退出了比赛行列。本组测试文件达到14M,各组件的上传速度又出现大幅度下降,虽然如此,.net自带组件成绩仍然是遥遥领先,紧随其后的是aspupload3组件与FileupV4.01组件,Lyfupload1.2B组件与梁无惧无组件上传类虽然还能跟上前者的步伐不至于被淘汰,但上传时间均已超过100秒,而且其巨大的CPU占用率就像一块千斤大石般压得人喘不过气来(超过100秒钟的100%CPU占用率)。从CPU占用图上来看(仅列三种图形,后两种上传组件因为图形单调毫无变化,没有参考价值),.net自带组件占用CPU时间最短,aspupload3组件CPU占用率最低,占用时间最长的是FileupV4.01组件。三者在达到100%CPU占用率之前,均出现明显的CPU占用率小高峰,之后才出现100%的占用率。 6、第六组测试结果文件名称:上传测试文件06.chm 文件类型:chm文件 文件大小:31505602字节组件名称Asp.net组件Aspupload3.0组件FileupV4.01组件Lyfupload1.2B组件梁无惧无组件上传类化境无组件上传类第一次测试测试时间20:5218:1418:1518:2318:38未参与测试所用时间(秒)19.0000 39.9531 57.4063 454.0938 447.3750 第二次测试测试时间20:5318:4018:44 所用时间(秒)19.000038.0469 60.2031 第三次测试测试时间20:5318:4718:50 所用时间(秒)19.000035.1250 54.7813 平均传输时间(秒)19.000037.7083 57.4635 454.0938 447.3750 平均传输速度(字节/秒)1658190 837865 549086 69381 70423 传输比(%)100.00%50.53%33.11%4.18%4.25%说明:asp.net组件三次上传时间分别记录为:10.2969,10.1563,10.23434,但从CPU运行图上观察大约在19秒左右,结果以此为准上传速度对比图


(从左至右为:asp.net,aspupload3,safileup4.01)点评: 由于Lyfupload1.2B组件与梁无惧无组件上传类的上传时间达到惊人的450秒,而且在上传期间完全处于100%的CPU占用率,已没有再进行测试的必要性了,因此只测试一组数据作为参考。 本组测试又出现了奇怪的现象,前三个上传组件的上传速度在文件大小扩大一倍的基础上反而增加了,增幅最大的FileupV4.01更达到惊人的70%提升;后两个组件上传速度随着文件的增大等比例的下降。从速度上看,仍然是asp.net组件的速度领先,其次的aspupload3组件仅仅是它的50%,更不用说最低速度的后两个组件了,只及asp.net组件的4%。 从CPU使用记录图看,前三个组件的图形走势非常相像,都是先形成一段较低CPU占用率的波形,最后猛然攀升,达到100%CPU占用率,其中Aspupload3组件的CPU占用率是最低的,asp.net组件占用率最高,FileupV4.01居中但在三者中所用时间最长7、第七组测试结果文件名称:上传测试文件07.rm 文件类型:rm文件 文件大小:109148251字节组件名称Asp.net组件Aspupload3.0组件FileupV4.01组件Lyfupload1.2B组件梁无惧无组件上传类化境无组件上传类第一次测试测试时间21:0319:0019:03未参与测试未参与测试未参与测试所用时间(秒)35.0000 107.5469 129.3281 第二次测试测试时间21:0419:1119:07所用时间(秒)35.0000 95.8438 124.5313 第三次测试测试时间20:5919:1519:20所用时间(秒)35.0000 96.9844 122.0156 平均传输时间(秒)35.0000 100.1250 125.2917 平均传输速度(字节/秒)3118521 1093042 871660 传输比(%)100.00%35.05%27.95% 说明:asp.net组件三次上传记录数据分别为:4.671875,3.328125,3.328125,但从CPU运行图上看大约在35秒之间,结果以此为准,后三种上传组件因速度太慢,已不具可比性,不参与测试





(safileup4.01)(aspupload3)
