HDFS高吞吐量只是因为它的块大小?

时间:2015-03-01 13:19:52

标签: linux hadoop block hdfs throughput

我读到HDFS核心功能之一是高吞吐量。我还读到这是因为它的块大小和较少的寻道时间。我做了一个计算来证明自己。假设我的Linux文件系统中有10GB文件,HDFS中有相同文件。寻道时间为10ms,传输速率为100MB / s。我只是将块大小从512B更改为128MB。如果我想从Linux文件系统读取数据。

total read time = total transfer time + total seek time 
total transfer time = number of blocks* ( size of the block / transfer rate )
total seek time = number of block* 10ms

因此

用于普通的Linux文件系统

number of blocks= 10*1024*1024*1024/512 = 21 million blocks(approximately)
transfer time = 512/(100*1024*1024/1000) = 0.00488ms

total read time = 21000000(0.00488+10) = 58.36 hours

用于HDFS

number of blocks = (10*1024)/128 = 80
transfer time = 128/(100/1000) = 1280ms

total read time = 80* (1280+10) = 103 seconds

我的计算错了吗?还请告诉我这就是为什么HDFS具有高吞吐量的原因?为什么它具有低延迟? 谢谢,我会感谢你的澄清。

0 个答案:

没有答案