我读到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具有高吞吐量的原因?为什么它具有低延迟? 谢谢,我会感谢你的澄清。