我听说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具有高吞吐量的原因吗?为什么它有低延迟?谢谢,我希望能澄清一下。
暂无答案!
目前还没有任何答案,快来回答吧!