读书人

文件下传的秘密(三)性能和稳定性下的

发布时间: 2012-08-25 10:06:20 作者: rapoo

文件上传的秘密(三)性能和稳定性上的衡量

文件上传的秘密系列之一, http://mojarra.iteye.com/blog/1412497

?

文件上传的秘密系列之二, http://mojarra.iteye.com/blog/1534821

?

对照著名的Apache Common File Upload这个组件, 做一下对比。选取两组文件,每组文件各包含三张照片。

第一组中三张照片的大小是,1.7M、1.7M、1.2M

第二组中三张照片的大小是,574K、588K、384K。

每组文件分别上传20次。计时每次接收文件所用的时间,单位ms.

?

测试的环境就是本机,配置为i5 2.3G/内存4G/硬盘5400转128G。 JDK 6.0.23 For MAC, 服务器Tomcat 7.0.21。

同一web app下,用Common File Upload和本系列中前面封装的文件上传类FileUploadParser分别写一个Servlet,保存文件到指定的目录中。测试中,长传文件使用FireFox 12英文版本。

?

?

第一组数据样本,FileUploadParser单次接收最短耗时36ms,? Apache的Common File Upload单次接收最短耗时67ms,FileUploadParser单次接收最长耗时161ms,Common File Upload单次接收最长耗时275ms。

?

5个最短的FileUploadParser单次接收耗时分别是36ms、36ms、36ms、37ms和37ms,5个最长的耗时是161ms、108ms,94ms、77ms和73ms。

从样本数据中看,Common File Upload对照数据是,5次最短耗时是67ms、69ms、72ms、73ms和73ms,5个最长的耗时是275ms、216ms,204ms、184ms和157ms。

?

cost: 161 cost: 36 cost: 37 cost: 55 cost: 41 cost: 37 cost: 39 cost: 77 cost: 108 cost: 67 cost: 39 cost: 36 cost: 38 cost: 36 cost: 53 cost: 37 cost: 37 cost: 73 cost: 94 cost: 39 Apache Common File Upload costs: 69 Apache Common File Upload costs: 216 Apache Common File Upload costs: 78 Apache Common File Upload costs: 275 Apache Common File Upload costs: 157 Apache Common File Upload costs: 146 Apache Common File Upload costs: 204 Apache Common File Upload costs: 76 Apache Common File Upload costs: 107 Apache Common File Upload costs: 132 Apache Common File Upload costs: 104 Apache Common File Upload costs: 73 Apache Common File Upload costs: 106 Apache Common File Upload costs: 73 Apache Common File Upload costs: 72 Apache Common File Upload costs: 87 Apache Common File Upload costs: 74 Apache Common File Upload costs: 67 Apache Common File Upload costs: 88 Apache Common File Upload costs: 184 

?

?

?第二组数据样本,FileUploadParser单次接收最短耗时13ms,? Apache的Common File Upload单次接收最短耗时16ms,FileUploadParser单次接收最长耗时50ms,Common File Upload单次接收最长耗时107ms。

?

5个最短的FileUploadParser单次接收耗时分别是13ms、13ms、13ms、14ms和14ms,5个最长的耗时是50ms、36ms,19ms、17ms和17ms。

从样本数据中看,Common File Upload对照数据是,5次最短耗时是16ms、18ms、27ms、29ms和30ms,5个最长的耗时是107ms、80ms、75ms、61ms和43ms。

?

?

cost: 36 cost: 14 cost: 17 cost: 13 cost: 17 cost: 14 cost: 13 cost: 14 cost: 16 cost: 14 cost: 13 cost: 16 cost: 14 cost: 13 cost: 50 cost: 15 cost: 14 cost: 15 cost: 16 cost: 19 Apache Common File Upload costs: 107 Apache Common File Upload costs: 27 Apache Common File Upload costs: 42 Apache Common File Upload costs: 43 Apache Common File Upload costs: 41 Apache Common File Upload costs: 61 Apache Common File Upload costs: 80 Apache Common File Upload costs: 45 Apache Common File Upload costs: 39 Apache Common File Upload costs: 29 Apache Common File Upload costs: 32 Apache Common File Upload costs: 61 Apache Common File Upload costs: 16 Apache Common File Upload costs: 30 Apache Common File Upload costs: 38 Apache Common File Upload costs: 40 Apache Common File Upload costs: 75 Apache Common File Upload costs: 38 Apache Common File Upload costs: 40 Apache Common File Upload costs: 18 
?

从测试取得的样本数据分析,无论是最小时间、还是样本数据的方差,最短耗时的方差、最长耗时的方差,Common File Upload除了在第二组数据中的最短单次耗时小幅落后外,其他的指标终大幅落后FileUploadParser. 而且,随着上传文件大小的增加,落后的幅度越大。

?

?

注:测试用的文件上传在本博客的附件中。

?

<原创内容,版权所有,如若转载,请注明出处,不胜感谢!仪山湖>

读书人网 >编程

热点推荐