8、第八组测试结果
文件名称:影视mpg文件.mpg 文件类型:mpg文件 文件大小:227546780字节
组件名称 Asp.net
自带组件 Aspupload3.0
组件 FileupV4.01
组件 Lyfupload 1.2B
组件 梁无惧无组件
上传类 化境无组件上传类
第一次测试 测试时间 无法上传 19:42 19:36 未参与测试 未参与测试 未参与测试
所用时间(秒) 200.1250 265.5156
平均传输时间(秒) 200.1250 265.5156
平均传输速度 (字节/秒) 1137023 857000
传输比(%) 100.00% 75.37%
说明:本次测试数据超过200M,asp.net组件上传过程中无故中断,无法上传(重试多次)
上传速度对比图
CPU使用记录图
(safileup4.01)
(aspupload3)
说明:
为了最终看看上传组件上传超大型文件的表现,特地上传了一个达到近230M大小的文件,一般而言,极少有这样的上传需求,所以此次测试仅供参考,只有一个测试数据。
在上传过程中,意外的发现asp.net组件竟然无法上传这个文件,连续多次测试并修改配置文件,最终仍是无法上传(后查明asp.net允许最大的上传文件为200M)。故asp.net的上传测试只有无奈放弃。
从数据上看,aspupload3组件的传输速度仍有小幅提高(提高约40K左右),safileup4.01组件有小幅下降。从CPU使用记录图看,CPU占用率进一步下降,aspupload3组件CPU占用率仅在30%以下,safileup4.01组件稍高。
附件:六种上传组件传输速度走势图
七、写在后面: 花了好大功夫,终于把这个测试做完了。
做完了之后,心头反而有点沉重。
从测试的数据来看,国内的上传组件与国外的上传组件相比,技术明显不在一个档次上。国内的上传组件大多为免费使用,均为最简单的读取二进制数据方式进行上传,技术上没有突破,上传小文件时还可以,上传较大文件时,上传速度急剧下降,并且普遍CPU占用率极高,一般均为全过程的100%CPU占用率;而国外的上传组件已形成产业,除asp.net组件搭配在.net环境中免费使用外,其余二者均为有偿使用(aspupload3组件使用费高达500美元),在技术上,采用了某种我们未知的数据读取方式,使上传速度大大提高,尤其在上传超大文件时更是大大降低了服务器CPU的占用率,使CPU占用率降低到30%的惊人水平,并且上传速度高达1M/s以上(与闪盘速度差不多了),这些都是国内上传组件无法比拟的。
另外,这个测试是在局域网的环境下进行的,取得的数据传输率较高,但由于测试要点并不是进行定量的测试,而仅仅是比较各个上传组件之间的性能,传输率高低并不重要,重要的是它们之间的性能对比以及对服务器CPU的占用程度。如果哪位朋友有不同意见的话,欢迎一起探讨。
八、什么样的上传组件适合我?
组件名称 适用范围
Asp.net组件 适合任何一种情况使用,但前提是你可以使用asp.net技术。建议有条件的都上。
Aspupload3.0组件 速度、CPU占用率极其优秀,如果不能使用asp.net技术,建议有钱的先上。
FileupV4.01组件 同上,比aspupload3组件差一些,但一样卖钱,可见它胖得没有道理,建议有钱的不如上aspupload3组件。
Lyfupload1.2B组件 如果你没有用宽带,也不在局域网内,服务器提供商允许你用这个组件的话,而且你看来不是很有钱,那就尽管上吧!但恐怕这种机会不多。
梁无惧无组件上传类 如果你既不是用宽带,也不是在局域网内,服务器提供商又不允许你用组件,而且兜里没有钱,那只好上这个了。
化境无组件上传类 强烈建议不要上它。
如果还有其他没有列入的情况,那怎么办?……(这个,这个,你自己想办法。)
附件:上述六种上传组件的下载地址:
组件名称 下载地址
原文转自:http://www.uml.org.cn/Test/201209251.asp