這取決於你的設置的細節很多。首先知道在4分鐘20GB是80MBps。
瓶頸很可能是您本地機器的硬件或其以太網連接。我懷疑玩塊大小會提高你的吞吐量。
如果你的本地機器有一個典型的7200rpm硬盤,其磁盤緩衝傳輸速率大約是128MBps,這意味着它可能是20BG文件加載到內存在約2:35,假設你有20GB,以備用。但是,您不只是將它複製到內存中,而是將它從內存中傳輸到網絡數據包,因此可以理解的是,您需要額外處理這些任務的開銷。
另請參閱wire speed上的維基百科條目,該條目將快速以太網設置爲100Mbit/s(〜12MB/s)。請注意,在這種情況下,快速以太網是一組特定的以太網標準的術語。你顯然比這更快。線速度是一個很好的衡量標準,因爲它考慮了本地計算機上的所有因素。
讓我們打破在流動過程中的不同步驟在本地計算機上:
- 從文件中讀取數據塊並將其加載到內存中。 組件:硬盤驅動器,內存
- 拆分並將該塊轉換爲數據包。最後我聽說Hadoop沒有使用開箱即用的DMA功能,所以這些操作將由您的CPU而不是NIC執行。 組件:內存,CPU
- 將數據包傳輸到hadoop文件服務器。組成:網卡,網
不知道更多關於你的本地機器上,就很難說明這些組件是瓶頸。但是,這些是開始調查比特率的地方。
所以這目前80 MB/s。調查磁盤和網絡I/O。你的磁盤/網絡能更好嗎?你的確切設置是什麼?單臺機器還是集羣? – harpun