文件上传的秘密(三)性能和稳定性上的衡量
文件上传的秘密系列之一, 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. 而且,随着上传文件大小的增加,落后的幅度越大。
?
?
注:测试用的文件上传在本博客的附件中。
?
<原创内容,版权所有,如若转载,请注明出处,不胜感谢!仪山湖>