文件上傳的祕密(三)性能和穩定性上的衡量

文件上傳的祕密系列之一, 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. 而且,隨着上傳文件大小的增加,落後的幅度越大。

 

 

注:測試用的文件上傳在本博客的附件中。

 

<原創內容,版權所有,如若轉載,請註明出處,不勝感謝!儀山湖>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章