HDFS和FastDFS的上传、下载效率对比测试
測試環境
測試使用的FastDFS服務器,HDFS服務器均在vmware虛擬機中搭建,HDFS的服務器直接由FastDFS服務器克隆而來,所以除了一個安裝了hadoop,一個安裝了FastDFS,其他環境完全一致。
HDFS配置了集群環境,一主三從,但是只打開一臺從節點服務器。
vmware的配置如下圖:
測試主機(上述vmware、測試代碼的運行環境)CPU、內存如下圖:
編碼層面,對HDFS和FastDFS客戶端都做了一層封裝以達到簡化開發的目的,封裝對性能的影響不大。
所有代碼均在JDK1.6下編譯和運行,使用JUNIT運行了測試代碼,均在IDEA中完成測試。
HDFS和FastDFS均在部署完成后直接測試,未做任何優化。
當然最終的測試結果也僅供參考,畢竟不同的環境,優化手段對最終的結果影響還是很大的。
1、文件上傳測試
25個小文件上傳測試(最大文件30.2mb,最小文件13b)
HDFS測試如下:
測試結果:coast time : 13599ms
?
FastDFS下測試:
測試結果:coast time : 1949ms
?
318個圖片上傳測試(每個文件大小1mb左右)
HDFS下測試:
測試結果:coast time : 63460ms
?
FastDFS下測試:
測試結果:coast time : 9585ms
?
3個視頻文件測試(每個大小700多mb)
HDFS下測試:
測試結果:coast time : 62092ms
?
?
FastDFS下測試:
測試結果:coast time : 58137ms
?
3個較大視頻文件測試(每個2gb+,總共7.2gb)
HDFS下測試:
測試結果:coast time : 171743ms
?
FastDFS下測試:
測試結果:coast time : 131861ms
?
?
2、文件下載測試
25個小文件的下載測試
HDFS 下載25個小文件 coast time : 13008ms
FastDFS下載25個小文件 coast time : 1218ms
?
318個圖片的下載測試
HDFS 下載318個圖片 coast time : 24942ms
FastDFS 下載318個圖片 coast time : 7051ms
?
3個視頻文件下載測試(單個700mb)
HDFS下載視頻coast time : 69266ms
FastDFS 下載視頻 coast time : 36144ms
?
?
3個較大視頻下載測試(單個2gb)
HDFS下測試:
測試結果:coast time : 192315ms
?
FastDFS下測試:
測試結果:coast time : 138215ms
3、文件刪除測試
25個小文件刪除測試
HDFS 刪除25個小文件 coast time : 10517ms
FastDFS刪除25個小文件 coast time : 62ms
?
318個圖片刪除測試
HDFS 刪除318個圖片 coast time : 12828ms
FastDFS 刪除318個圖片 coast time : 811ms
?
3個視頻刪除測試(單個700mb)
HDFS刪除視頻coast time : 10286ms
FastDFS 刪除視頻 coast time : 150ms
?
3個較大視頻刪除測試(單個2gb)
HDFS下測試:
測試結果:coast time : 10594ms
?
FastDFS下測試:
測試結果:coast time : 255ms
總結
測試結果總覽
| 測試項 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | HDFS ? ? ? ? ? ? ? ? ? ? ? ? ? ?? | FastDFS ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
| 25個小文件上傳 | 13599ms | 1949ms |
| 318個圖片上傳 | 63460ms | 9585ms |
| 3個700m視頻上傳 | 62092ms | 58137ms |
| 3個2g視頻上傳 | 171743ms | 131861ms |
| 25個小文件下載 | 13008ms | 1218ms |
| 318個圖片下載 | 24942ms | 7051ms |
| 3個700m視頻下載 | 69266ms | 36144ms |
| 3個2g視頻下載 | 192315ms | 138215ms |
| 25個小文件刪除 | 10517ms | 62ms |
| 318個圖片刪除 | 12828ms | 811ms |
| 3個700m視頻刪除 | 10286ms | 150ms |
| 3個2g視頻刪除 | 10594ms | 255ms |
單從測試結果來看,無論是在上傳、下載還是刪除上,HDFS對比FastDFS差距還是比較大的。在小文件的上傳上,HDFS的318個小圖片總計200多mb的上傳耗時和3個700m視頻總計2.2g的上傳耗時居然是差不多的。
對測試結果的一些猜想和認識
1、 FastDFS客戶端底層連接服務端使用的是Socket,本身速度就要快很多。
2、 HDFS在做刪除測試時,明顯較慢的地方是在創建到服務端的連接上,實際刪除文件的速度很快。由于每次測試都需要先創建到服務端的連接,HDFS在這塊消耗較大,在實際場景下,差距應該沒有這么大。
3、 兩者的適用場景確有不同,FastDFS更適合小文件的高效存取,而HDFS更適合超大文件上傳后使用Mapreduce去做大數據處理。
4、 HDFS的部分從節點沒有開啟,不知道會不會影響文件的上傳、下載效率。
5、 個人的機器配置有限,硬盤空間也有限,不知道在更大級別的文件上傳下載效率上,HDFS對比FastDFS會有如何的結果。
轉載于:https://my.oschina.net/u/126298/blog/818316
總結
以上是生活随笔為你收集整理的HDFS和FastDFS的上传、下载效率对比测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QTableWidget 合并单元格
- 下一篇: 英语单词学习笔记