αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž’αžΆαž“αž–αžΈ HBase αžŠαž›αŸ‹αž‘αŸ… 3 αžŠαž„ αž“αž·αž„αž–αžΈ HDFS αžŠαž›αŸ‹ 5 αžŠαž„

αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžαŸ’αž–αžŸαŸ‹αž‚αžΊαž‡αžΆαžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžŸαŸ†αžαžΆαž“αŸ‹αž˜αž½αž™αž“αŸ…αž–αŸαž›αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αŸ†αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ… Sberbank αž™αžΎαž„αž”αžΌαž˜αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŸαŸ’αž‘αžΎαžšαžαŸ‚αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„ Data Cloud αžŠαŸ‚αž›αž˜αžΆαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž›αžΎ Hadoop αžšαž”αžŸαŸ‹αž™αžΎαž„ αž αžΎαž™αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž›αŸ†αž αžΌαžšαž–αŸαžαŸŒαž˜αžΆαž“αžŠαŸαž’αŸ†αŸ” αž‡αžΆαž’αž˜αŸ’αž˜αž‡αžΆαžαž· αž™αžΎαž„αžαŸ‚αž„αžαŸ‚αžŸαŸ’αžœαŸ‚αž„αžšαž€αž˜αž’αŸ’αž™αŸ„αž”αžΆαž™αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ‚αž›αž˜αŸ’αž’αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž αž αžΎαž™αž₯αž‘αžΌαžœαž“αŸαŸ‡αž™αžΎαž„αž…αž„αŸ‹αž”αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž™αžΎαž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŠαžΎαž˜αŸ’αž”αžΈαž‡αž½αžŸαž‡αž»αž› RegionServer HBase αž“αž·αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœ HDFS αž’αžšαž‚αž»αžŽαžŠαŸ‚αž›αž™αžΎαž„αž’αžΆαž…αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž“αŸƒαž€αžΆαžšαž’αžΆαž“αž™αŸ‰αžΆαž„αžŸαŸ†αžαžΆαž“αŸ‹αŸ”
αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž’αžΆαž“αž–αžΈ HBase αžŠαž›αŸ‹αž‘αŸ… 3 αžŠαž„ αž“αž·αž„αž–αžΈ HDFS αžŠαž›αŸ‹ 5 αžŠαž„

αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž˜αž»αž“αž“αžΉαž„αž”αž“αŸ’αžαž‘αŸ…αž…αŸ†αžŽαž»αž…αžŸαŸ†αžαžΆαž“αŸ‹αž“αŸƒαž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’ αžœαžΆαž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž€αžΆαžšαžšαžΉαžαž”αž“αŸ’αžαžΉαž„ αžŠαŸ‚αž›αžαžΆαž˜αž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž˜αž·αž“αž’αžΆαž…αž‡αŸ€αžŸαž”αžΆαž“ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž’αž„αŸ’αž‚αž»αž™αž›αžΎ HDDαŸ”

αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆ HDD αž“αž·αž„αž€αžΆαžšαž’αžΆαž“ Random Access αž›αžΏαž“αž˜αž·αž“αž†αž”αž‚αŸ’αž“αžΆαŸ”
αžŠαžΌαž…αžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αžΆαž“αžŠαžΉαž„αž αžΎαž™αžαžΆ HBase αž“αž·αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαž…αŸ’αžšαžΎαž“αž‘αŸ€αž αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αž›αž»αž€αžŠαŸ‚αž›αž˜αžΆαž“αž‘αŸ†αž αŸ†αžšαžΆαž”αŸ‹αžŸαž·αž”αž‚αžΈαž‘αžΌαž”αŸƒαŸ” αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αžœαžΆαž˜αžΆαž“αž”αŸ’αžšαž αŸ‚αž› 64 KB αŸ” αž₯αž‘αžΌαžœαž“αŸαŸ‡αžŸαžΌαž˜αžŸαŸ’αžšαž˜αŸƒαžαžΆαž™αžΎαž„αžαŸ’αžšαžΌαžœαž‘αž‘αž½αž›αž”αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ‚ 100 αž”αŸƒ αž αžΎαž™αž™αžΎαž„αžŸαž»αŸ†αž±αŸ’αž™ HBase αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž™αžΎαž„αž“αžΌαžœαž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸαŸ‡αžŠαŸ„αž™αž”αŸ’αžšαžΎαžŸαŸ„αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αŸ” αžŠαŸ„αž™αžŸαžΆαžšαž‘αŸ†αž αŸ†αž”αŸ’αž›αž»αž€αž“αŸ…αž€αŸ’αž“αž»αž„ HFiles αž‚αžΊ 64 KB αžŸαŸ†αžŽαžΎαž“αžΉαž„αž˜αžΆαž“αž‘αŸ†αž αŸ†αž’αŸ†αž‡αžΆαž„ 640 αžŠαž„ (αžαŸ’αžšαžΉαž˜αžαŸ‚αž˜αž½αž™αž“αžΆαž‘αžΈ!) αž‡αžΆαž„αž€αžΆαžšαž…αžΆαŸ†αž”αžΆαž…αŸ‹αŸ”

αž”αž“αŸ’αž‘αžΆαž”αŸ‹ αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαžŸαŸ†αžŽαžΎαž“αžΉαž„αž†αŸ’αž›αž„αž€αžΆαžαŸ‹ HDFS αž“αž·αž„αž™αž“αŸ’αžαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸαžαžΆαžšαž”αžŸαŸ‹αžœαžΆαŸ” ShortCircuitCache (αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž…αžΌαž›αž”αŸ’αžšαžΎαž―αž€αžŸαžΆαžšαžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹) αžœαžΆαž“αžΆαŸ†αž‘αŸ…αžŠαž›αŸ‹αž€αžΆαžšαž’αžΆαž“ 1 MB αžšαž½αž…αž αžΎαž™αž–αžΈαžαžΆαžŸαŸ” αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™αž“αŸαŸ‡αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ‚αžαž˜αŸ’αžšαžΌαžœαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš dfs.client.read.shortcircuit.buffer.size αž αžΎαž™αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž‡αžΆαž…αŸ’αžšαžΎαž“αžœαžΆαžŸαž˜αž αŸαžαž»αž•αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αžαž˜αŸ’αž›αŸƒαž“αŸαŸ‡ αž§αž‘αžΆαž αžšαžŽαŸαž‘αŸ… 126 KB αŸ”

αž§αž”αž˜αžΆαžαžΆαž™αžΎαž„αž’αŸ’αžœαžΎαž”αŸ‚αž”αž“αŸαŸ‡ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ…αž‘αŸ€αž αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž™αžΎαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž’αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαžΆαž˜αžšαž™αŸˆ java api αžŠαžΌαž…αž‡αžΆαž˜αž»αžαž„αžΆαžšαžŠαžΌαž…αž‡αžΆ FileChannel.read αž αžΎαž™αžŸαž»αŸ†αž±αŸ’αž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž’αžΆαž“αž…αŸ†αž“αž½αž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹ αžœαžΆαž’αžΆαž“ "αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈ" 2 αžŠαž„αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαŸ” , i.e. 256 KB αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„αŸ” αž“αŸαŸ‡αž‚αžΊαžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚ java αž˜αž·αž“αž˜αžΆαž“αžœαž·αž’αžΈαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αž„αŸ‹ FADV_RANDOM αžŠαžΎαž˜αŸ’αž”αžΈαž€αžΆαžšαž–αžΆαžšαž₯αžšαž·αž™αžΆαž”αžαž“αŸαŸ‡αŸ”

αž‡αžΆαž›αž‘αŸ’αž’αž•αž› αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž”αžΆαž“ 100 αž”αŸƒαžšαž”αžŸαŸ‹αž™αžΎαž„ 2600 αžŠαž„αž‘αŸ€αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αžΆαž“αž“αŸ…αž€αŸ’αžšαŸ„αž˜αž€αŸ’αžšαžŽαžΆαžαŸ‹αŸ” αžœαžΆαž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαžαžΆαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž‚αžΊαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„ αž…αžΌαžšαž™αžΎαž„αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž‘αŸ†αž αŸ†αž”αŸ’αž›αž»αž€αž‘αŸ…αž‡αžΆαž‚αžΈαž‘αžΌαž”αŸƒ αž€αŸ†αžŽαžαŸ‹αž‘αž„αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αžšαŸ€αž”αžšαžΆαž”αŸ‹ αž“αž·αž„αž‘αž‘αž½αž›αž”αžΆαž“αž€αžΆαžšαž–αž“αŸ’αž›αžΏαž“αž€αžΆαžšαžαŸ’αžšαžΆαžŸαŸ‹αžŠαžΉαž„αžŠαŸαž’αžŸαŸ’αž…αžΆαžšαŸ’αž™αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αž‰αŸ’αž αžΆαž‚αžΊαžαžΆαžŠαŸ„αž™αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž‘αŸ†αž αŸ†αž”αŸ’αž›αž»αž€ 2 αžŠαž„αž™αžΎαž„αž€αŸαž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž…αŸ†αž“αž½αž“αž”αŸƒαžŠαŸ‚αž›αž’αžΆαž“αž€αŸ’αž“αž»αž„αž˜αž½αž™αž―αž€αžαžΆαž“αŸƒαž–αŸαž›αžœαŸαž›αžΆ 2 αžŠαž„αŸ”

αž”αŸ’αžšαžΆαž€αŸ‹αž…αŸ†αžŽαŸαž‰αž˜αž½αž™αž…αŸ†αž“αž½αž“αž–αžΈαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αž„αŸ‹ FADV_RANDOM αž’αžΆαž…αž‘αž‘αž½αž›αž”αžΆαž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αžΆαž“αžαŸ‚αž‡αžΆαž˜αž½αž™αžαŸ’αžŸαŸ‚αž…αŸ’αžšαžΎαž“αžαŸ’αž–αžŸαŸ‹ αž“αž·αž„αž‘αŸ†αž αŸ†αž”αŸ’αž›αž»αž€ 128 KB αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž’αžαž·αž”αžšαž˜αžΆαž–αžΈαžšαž”αžΈαžŠαž”αŸ‹αž—αžΆαž‚αžšαž™αŸ–

αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž’αžΆαž“αž–αžΈ HBase αžŠαž›αŸ‹αž‘αŸ… 3 αžŠαž„ αž“αž·αž„αž–αžΈ HDFS αžŠαž›αŸ‹ 5 αžŠαž„

αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž›αžΎαž―αž€αžŸαžΆαžš 100 αžŠαŸ‚αž›αž“αžΈαž˜αž½αž™αŸ—αž˜αžΆαž“αž‘αŸ†αž αŸ† 1 GB αž“αž·αž„αž˜αžΆαž“αž‘αžΈαžαžΆαŸ†αž„αž“αŸ…αž›αžΎ HDD αž…αŸ†αž“αž½αž“ 10 αŸ”

αž…αžΌαžšαž™αžΎαž„αž‚αžŽαž“αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž™αžΎαž„αž’αžΆαž…αž’αŸ’αžœαžΎαž”αžΆαž“ αž‡αžΆαž‚αŸ„αž›αž€αžΆαžšαžŽαŸ αž–αžΉαž„αž•αŸ’αž’αŸ‚αž€αž›αžΎαž›αŸ’αž”αžΏαž“αž“αŸαŸ‡αŸ–
αž§αž”αž˜αžΆαžαžΆαž™αžΎαž„αž’αžΆαž“αž–αžΈ 10 αžαžΆαžŸαž€αŸ’αž“αž»αž„αž›αŸ’αž”αžΏαž“ 280 MB/sec, i.e. 3 αž›αžΆαž“αžŠαž„ 100 αž”αŸƒαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŠαžΌαž…αžŠαŸ‚αž›αž™αžΎαž„αž…αž„αž…αžΆαŸ† αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž‚αžΊ 2600 αžŠαž„αžαž·αž…αž‡αžΆαž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž”αžΆαž“αž’αžΆαž“αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž™αžΎαž„αž”αŸ‚αž„αž…αŸ‚αž€ 3 αž›αžΆαž“αžŠαŸ„αž™ 2600 αž αžΎαž™αž‘αž‘αž½αž›αž”αžΆαž“ 1100 αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆαž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈαŸ”

αž”αžΆαž€αŸ‹αž‘αžΉαž€αž…αž·αžαŸ’αžαž˜αŸ‚αž“αž‘αŸ? αž“αŸ„αŸ‡αž‡αžΆαž’αž˜αŸ’αž˜αž‡αžΆαžαž· αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαžŠαŸ„αž™αž…αŸƒαžŠαž“αŸ’αž™ αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž›αžΎ HDD - αžŠαŸ„αž™αž˜αž·αž“αž‚αž·αžαž–αžΈαž‘αŸ†αž αŸ†αž”αŸ’αž›αž»αž€αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αž“αŸƒαž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαžŠαŸ„αž™αž…αŸƒαžŠαž“αŸ’αž™ αž αžΎαž™αž‚αŸ’αž˜αžΆαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŽαžΆαž˜αž½αž™αž’αžΆαž…αž…αŸ’αžšαž”αžΆαž…αŸ‹αž…αŸαž‰αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž“αŸ…αž€αŸ’αžšαŸ„αž˜αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž”αŸ‚αž”αž“αŸαŸ‡αž‘αŸαŸ”

αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžαžΎ Databases αž‘αž‘αž½αž›αž”αžΆαž“αž›αŸ’αž”αžΏαž“αžαŸ’αž–αžŸαŸ‹αž‡αžΆαž„αž“αŸαŸ‡αžŠαŸ„αž™αžšαž”αŸ€αž”αžŽαžΆ? αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž†αŸ’αž›αžΎαž™β€‹αž“αžΉαž„β€‹αžŸαŸ†αžŽαž½αžšβ€‹αž“αŸαŸ‡ αžŸαžΌαž˜β€‹αž˜αžΎαž›β€‹αžαžΆβ€‹αž˜αžΆαž“β€‹αž’αŸ’αžœαžΈβ€‹αž€αžΎαžβ€‹αž‘αžΎαž„β€‹αž€αŸ’αž“αž»αž„β€‹αžšαžΌαž”αž—αžΆαž–β€‹αžαžΆαž„β€‹αž€αŸ’αžšαŸ„αž˜αŸ–

αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž’αžΆαž“αž–αžΈ HBase αžŠαž›αŸ‹αž‘αŸ… 3 αžŠαž„ αž“αž·αž„αž–αžΈ HDFS αžŠαž›αŸ‹ 5 αžŠαž„

αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž™αžΎαž„αžƒαžΎαž‰αžαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αž“αžΆαž‘αžΈαžŠαŸ†αž”αžΌαž„ αž›αŸ’αž”αžΏαž“αž–αž·αžαž‡αžΆαž”αŸ’αžšαž αŸ‚αž›αž˜αž½αž™αž–αžΆαž“αŸ‹αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆαž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈαŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αžΆαž“αž…αŸ’αžšαžΎαž“αž‡αžΆαž„αž€αžΆαžšαžŸαŸ’αž“αžΎαžŸαž»αŸ†αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αž‰αŸ’αž…αž”αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ buff / cache αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš (linux) αž αžΎαž™αž›αŸ’αž”αžΏαž“αž€αžΎαž“αž‘αžΎαž„αžŠαž›αŸ‹αžŸαž˜αžšαž˜αŸ’αž™αž‡αžΆαž„ 60 αž–αžΆαž“αŸ‹αž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈαŸ”

αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž™αžΎαž„αž“αžΉαž„αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž‡αžΆαž˜αž½αž™αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž…αžΌαž›αž”αŸ’αžšαžΎαžαŸ‚αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹ OS αž¬αžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αž§αž”αž€αžšαžŽαŸαž•αŸ’αž‘αž»αž€ SSD/NVMe αž“αŸƒαž›αŸ’αž”αžΏαž“αž…αžΌαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž”αžΆαž“αŸ”

αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„ αž™αžΎαž„αž“αžΉαž„αž’αŸ’αžœαžΎαž€αžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž…αŸ†αž“αž½αž“ 4 αžŠαŸ‚αž›αž“αžΈαž˜αž½αž™αŸ—αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αž·αžαž”αŸ’αžšαžΆαž€αŸ‹αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

αžŸαŸŠαžΈαž—αžΈαž™αžΌαŸ– Xeon E5-2680 v4 @ 2.40GHz 64 αžαŸ’αžŸαŸ‚αŸ”
αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αŸ– ៧៣០ αž‡αžΈαž€αžΆαž”αŸƒαŸ”
αž€αŸ†αžŽαŸ‚ javaαŸ– 1.8.0_111

αž αžΎαž™αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž…αŸ†αžŽαž»αž…αžŸαŸ†αžαžΆαž“αŸ‹αž‚αžΊαž…αŸ†αž“αž½αž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž’αžΆαž“αŸ” αž€αžΆαžšαž–αž·αžαž‚αžΊαžαžΆαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž’αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αžΈαžαžΆαžšαžΆαž„αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹ HBase αž“αŸ„αŸ‡αžœαžΆαž“αžΉαž„αž˜αž·αž“αž˜αž€αž’αžΆαž“αž–αžΈ buff/cache αžšαž”αžŸαŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αŸ„αŸ‡αž‘αŸαŸ” αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚ HBase αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž”αŸ‚αž„αž…αŸ‚αž€ 40% αž“αŸƒαž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž‘αŸ…αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž αŸ…αžαžΆ BlockCache αŸ” αžŸαŸ†αžαžΆαž“αŸ‹αž“αŸαŸ‡αž‚αžΊαž‡αžΆ ConcurrentHashMap αžŠαŸ‚αž›αž€αžΌαž“αžŸαŸ„αž‚αžΊαž‡αžΆαžˆαŸ’αž˜αŸ„αŸ‡αž―αž€αžŸαžΆαžš + αž’αž»αž αŸ’αžœαžŸαž·αžαž“αŸƒαž”αŸ’αž›αž»αž€ αž αžΎαž™αžαž˜αŸ’αž›αŸƒαž‚αžΊαž‡αžΆαž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠαž“αŸ…αž’αž»αž αŸ’αžœαžŸαž·αžαž“αŸαŸ‡αŸ”

αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž“αŸ…αž–αŸαž›αž’αžΆαž“αžαŸ‚αž–αžΈαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž“αŸαŸ‡αž™αžΎαž„ αž™αžΎαž„αžƒαžΎαž‰αž›αŸ’αž”αžΏαž“αžŠαŸαž’αžŸαŸ’αž…αžΆαžšαŸ’αž™αžŠαžΌαž…αž‡αžΆαžŸαŸ†αžŽαžΎαž˜αž½αž™αž›αžΆαž“αž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŸαžΌαž˜αžŸαŸ’αžšαž˜αŸƒαžαžΆ αž™αžΎαž„αž˜αž·αž“αž’αžΆαž…αž”αŸ‚αž„αž…αŸ‚αž€αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžšαžΆαž”αŸ‹αžšαž™αž‡αžΈαž αŸ’αž‚αžΆαž”αŸƒαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ‚αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αžΆαž“αž‘αŸ αž–αžΈαž–αŸ’αžšαŸ„αŸ‡αž˜αžΆαž“αžšαž”αžŸαŸ‹αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž‡αžΆαž…αŸ’αžšαžΎαž“αž‘αŸ€αžαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‘αžΆαŸ†αž„αž“αŸαŸ‡αŸ”

αž§αž‘αžΆαž αžšαžŽαŸαž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„αž”αžšαž·αž˜αžΆαžŽ BlockCache αž“αŸ…αž›αžΎ RS αž˜αž½αž™αž‚αžΊαž”αŸ’αžšαž αŸ‚αž› 12 GB αŸ” αž™αžΎαž„αž”αžΆαž“αž…αž»αŸ‡αž…αž RS αž–αžΈαžšαž“αŸ…αž›αžΎαžαŸ’αž“αžΆαŸ†αž„αž˜αž½αž™, i.e. 96 GB αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ BlockCache αž“αŸ…αž›αžΎαžαŸ’αž“αžΆαŸ†αž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ” αž αžΎαž™β€‹αž˜αžΆαž“β€‹αž‘αž·αž“αŸ’αž“αž“αŸαž™β€‹αž…αŸ’αžšαžΎαž“β€‹αžŠαž„β€‹αž‘αŸ€αž αž§αž‘αžΆαž αžšαžŽαŸ αž‘αž»αž€β€‹αžœαžΆβ€‹αž‡αžΆ 4 αžαžΆαžšαžΆαž„ 130 αžαŸ†αž”αž“αŸ‹β€‹αž“αžΈαž˜αž½αž™αŸ— αžŠαŸ‚αž›β€‹αž―αž€αžŸαžΆαžšβ€‹αž˜αžΆαž“β€‹αž‘αŸ†αž αŸ† 800 MB αž”αž„αŸ’αžšαž½αž˜β€‹αžŠαŸ„αž™ FAST_DIFF i.e. αžŸαžšαž»αž” 410 GB (αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαž»αž‘αŸ’αž’ αž–αŸ„αž›αž‚αžΊαžŠαŸ„αž™αž˜αž·αž“αž‚αž·αžαž–αžΈαž€αžαŸ’αžαžΆαž…αž˜αŸ’αž›αž„)αŸ”

αžŠαžΌαž…αŸ’αž“αŸαŸ‡ BlockCache αž˜αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ‚αž”αŸ’αžšαž αŸ‚αž› 23% αž“αŸƒαž”αžšαž·αž˜αžΆαžŽαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαžšαž»αž” αž αžΎαž™αž“αŸαŸ‡αž‚αžΊαž€αžΆαž“αŸ‹αžαŸ‚αžαž·αžαž‘αŸ…αž‡αž·αžαž›αž€αŸ’αžαžαžŽαŸ’αžŒαž–αž·αžαž“αŸƒαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž αŸ…αžαžΆ BigData αŸ” αž αžΎαž™αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αž—αžΆαž–αžŸαž”αŸ’αž”αžΆαž™αžšαžΈαž€αžšαžΆαž™αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ - αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„ αž€αžΆαžšαž…αžΌαž›αž˜αžΎαž›αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžαž·αž…αž‡αžΆαž„αž˜αž»αž“ αž€αžΆαžšαžŸαž˜αŸ’αžαŸ‚αž„αž€αžΆαž“αŸ‹αžαŸ‚αž’αžΆαž€αŸ’αžšαž€αŸ‹αŸ” αž™αŸ‰αžΆαž„αžŽαžΆαž˜αž·αž‰αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž“αžΉαž€αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž€αžΆαžšαž„αžΆαžšαž‡αžΆαž…αŸ’αžšαžΎαž“ - i.e. αž…αž»αŸ‡αž‘αŸ…αž˜αž»αžαž„αžΆαžšαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž αŸ…αž‘αžΌαžšαžŸαž–αŸ’αž‘αŸ” αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž“αŸαŸ‡αž˜αž·αž“αž’αžΆαž…αž‡αŸ€αžŸαžœαžΆαž„αž”αžΆαž“αž‘αŸ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„ - αžαžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαž€αžΎαžαž‘αžΎαž„αž…αŸ†αž–αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹?

αž…αžΌαžšαž’αŸ’αžœαžΎαž±αŸ’αž™αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž› αž αžΎαž™αžŸαž“αŸ’αž˜αžαžαžΆαž™αžΎαž„αž˜αžΆαž“αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŠαŸ‚αž›αžŸαž˜αž“αžΉαž„αžœαžαŸ’αžαž» 1 αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž“αžΉαž„αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž™αžΎαž„αž–αŸ’αž™αžΆαž™αžΆαž˜αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž‘αŸ†αž αŸ†αž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αŸ†αž‡αžΆαž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹ 3 αžŠαž„ αž™αžΎαž„αž“αžΉαž„αžαŸ’αžšαžΌαžœαŸ–

1. αžŠαžΆαž€αŸ‹αž”αŸ’αž›αž»αž€ 1 αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹
2. αž™αž€αž”αŸ’αž›αž»αž€ 1 αž…αŸαž‰αž–αžΈαžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹
3. αžŠαžΆαž€αŸ‹αž”αŸ’αž›αž»αž€ 2 αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹
4. αž™αž€αž”αŸ’αž›αž»αž€ 2 αž…αŸαž‰αž–αžΈαžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹
5. αžŠαžΆαž€αŸ‹αž”αŸ’αž›αž»αž€ 3 αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹

αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–β€‹αž‘αžΆαŸ†αž„β€‹αŸ₯β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αž‰αŸ’αž…αž”αŸ‹! αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸαŸ‡αž˜αž·αž“αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž αŸ…αžαžΆαž’αž˜αŸ’αž˜αžαžΆαž‘αŸ αžαžΆαž˜αž–αž·αžαž™αžΎαž„αž€αŸ†αž–αž»αž„αž”αž„αŸ’αžαŸ†αž±αŸ’αž™ HBase αž’αŸ’αžœαžΎαž€αžΆαžšαž„αžΆαžšαžŠαŸ‚αž›αž‚αŸ’αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αŸ” αžœαžΆαž’αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž₯αžαžˆαž”αŸ‹αžˆαžšαž–αžΈαžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹ OS αžŠαžΆαž€αŸ‹αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„ BlockCache αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž”αŸ„αŸ‡αžœαžΆαž…αŸαž‰αžŸαŸ’αž‘αžΎαžšαžαŸ‚αž—αŸ’αž›αžΆαž˜αŸ—αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž•αŸ’αž“αŸ‚αž€αžαŸ’αž˜αžΈαž“αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αžΆαž“αž˜αž€αžŠαž›αŸ‹αŸ” αž‚αŸ†αž“αžΌαžšαž‡αžΈαžœαž…αž›αž“αŸ…αžŠαžΎαž˜αž“αŸƒαž€αžΆαžšαž”αž„αŸ’αž αŸ„αŸ‡αž”αž„αŸ’αž αžΆαž‰αž–αžΈαžαŸ’αž›αžΉαž˜αžŸαžΆαžšαž“αŸƒαž”αž‰αŸ’αž αžΆ - αž’αŸ’αž“αž€αž”αŸ’αžšαž˜αžΌαž›αžŸαŸ†αžšαžΆαž˜αž€αŸ†αž–αž»αž„αž”αž·αž‘αž‘αŸ†αž αŸ† αž”αžšαž·αž™αžΆαž€αžΆαžŸαž€αŸ†αž–αž»αž„αž‘αžΎαž„αž€αŸ†αžŠαŸ… αž αŸ’αž‚αŸ’αžšαŸαžαžΆαžαž·αž…αžαž½αž…αž“αŸ…αž†αŸ’αž„αžΆαž™ αž“αž·αž„αž€αŸ’αžαŸ…αžŸαŸŠαž»αž™αž’αŸ‚αžαž€αŸ†αž–αž»αž„αžαžΌαž…αž…αž·αžαŸ’αžαŸ” αž αžΎαž™β€‹αž™αžΎαž„β€‹αž‡αžΆβ€‹αž˜αž“αž»αžŸαŸ’αžŸβ€‹αž’αžΆαž™αž’αžΈβ€‹αž–αž·αžβ€‹αž‡αžΆβ€‹αž˜αž·αž“β€‹αž…αžΌαž›β€‹αž…αž·αžαŸ’αžβ€‹αžœαžΆβ€‹αž“αŸ…β€‹αž–αŸαž›β€‹αžŠαŸ‚αž›β€‹αž€αž»αž˜αžΆαžšβ€‹αžŸαŸ„αž€β€‹αžŸαŸ’αžαžΆαž™ αžŠαžΌαž…αŸ’αž“αŸαŸ‡β€‹αž™αžΎαž„β€‹αž…αžΆαž”αŸ‹β€‹αž•αŸ’αžαžΎαž˜β€‹αž‚αž·αžβ€‹αž’αŸ†αž–αžΈβ€‹αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž’αžΆαž…β€‹αž’αŸ’αžœαžΎβ€‹αž”αžΆαž“β€‹αž’αŸ†αž–αžΈβ€‹αžœαžΆαŸ”

αž…αž»αŸ‡αž”αžΎαž’αŸ’αž“αž€αž˜αž·αž“αžŠαžΆαž€αŸ‹αž”αŸ’αž›αž»αž€αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αžΆαž“αžαŸ‚αž—αžΆαž‚αžšαž™αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž“αŸƒαž–αž½αž€αžœαžΆ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž˜αž·αž“αž αŸ€αžšαž…αŸαž‰? αž…αžΌαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ„αž™αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž”αž“αŸ’αžαŸ‚αž˜αž€αžΌαžŠαž–αžΈαžšαž”αžΈαž”αž“αŸ’αž‘αžΆαžαŸ‹αž‘αŸ…αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž“αŸƒαž˜αž»αžαž„αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαžΆαž€αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ…αž€αŸ’αž“αž»αž„ BlockCacheαŸ–

  public void cacheBlock(BlockCacheKey cacheKey, Cacheable buf, boolean inMemory) {
    if (cacheDataBlockPercent != 100 && buf.getBlockType().isData()) {
      if (cacheKey.getOffset() % 100 >= cacheDataBlockPercent) {
        return;
      }
    }
...

αž…αŸ†αž“αž»αž…αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž‚αžΊαžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ– αž’αž»αž αŸ’αžœαžŸαž·αžαž‚αžΊαž‡αžΆαž‘αžΈαžαžΆαŸ†αž„αž“αŸƒαž”αŸ’αž›αž»αž€αž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš αž αžΎαž™αžαŸ’αž‘αž„αŸ‹αž…αž»αž„αž€αŸ’αžšαŸ„αž™αžšαž”αžŸαŸ‹αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αžŠαŸ„αž™αž…αŸƒαžŠαž“αŸ’αž™ αž“αž·αž„αžŸαŸ’αž˜αžΎαŸ—αž‚αŸ’αž“αžΆαž–αžΈ 00 αžŠαž›αŸ‹ 99αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™ αž™αžΎαž„αž“αžΉαž„αžšαŸ†αž›αž„αžαŸ‚αž’αŸ’αž“αž€αžŠαŸ‚αž›αž’αŸ’αž›αžΆαž€αŸ‹αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž‡αž½αžšαžŠαŸ‚αž›αž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”

αž§αž‘αžΆαž αžšαžŽαŸ αž€αŸ†αžŽαžαŸ‹ cacheDataBlockPercent = 20 αž αžΎαž™αž˜αžΎαž›αžαžΆαž˜αžΆαž“αž’αŸ’αžœαžΈαž€αžΎαžαž‘αžΎαž„αŸ–

αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž’αžΆαž“αž–αžΈ HBase αžŠαž›αŸ‹αž‘αŸ… 3 αžŠαž„ αž“αž·αž„αž–αžΈ HDFS αžŠαž›αŸ‹ 5 αžŠαž„

αž›αž‘αŸ’αž’αž•αž›αž‚αžΊαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αžšαžΆαž αŸ’αžœαžαžΆαž„αž€αŸ’αžšαŸ„αž˜ αžœαžΆαž…αŸ’αž”αžΆαžŸαŸ‹αžŽαžΆαžŸαŸ‹αžαžΆαž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž”αŸ‚αž”αž“αŸαŸ‡αž€αžΎαžαž‘αžΎαž„ - αž™αžΎαž„αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž’αž“αž’αžΆαž“ GC αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαŸ„αž™αž˜αž·αž“αž’αŸ’αžœαžΎαž€αžΆαžšαž„αžΆαžšαžšαž”αžŸαŸ‹ Sisyphean αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαžΆαž€αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ„αŸ‡αžœαžΆαž…αŸ„αž›αž—αŸ’αž›αžΆαž˜αŸ—αž‘αŸ…αž›αžΎαžŸαžαŸ’αžœαž†αŸ’αž€αŸ‚ MartianαŸ–

αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž’αžΆαž“αž–αžΈ HBase αžŠαž›αŸ‹αž‘αŸ… 3 αžŠαž„ αž“αž·αž„αž–αžΈ HDFS αžŠαž›αŸ‹ 5 αžŠαž„

αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡ αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ CPU αž€αžΎαž“αž‘αžΎαž„ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαž·αž…αž‡αžΆαž„αž•αž›αž·αžαž—αžΆαž–αž…αŸ’αžšαžΎαž“αŸ–

αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž’αžΆαž“αž–αžΈ HBase αžŠαž›αŸ‹αž‘αŸ… 3 αžŠαž„ αž“αž·αž„αž–αžΈ HDFS αžŠαž›αŸ‹ 5 αžŠαž„

αžœαžΆαž€αŸαž‚αž½αžšαž’αŸ„αž™αž€αžαŸ‹αžŸαŸ†αž‚αžΆαž›αŸ‹αž•αž„αžŠαŸ‚αžšαžαžΆαž”αŸ’αž›αž»αž€αžŠαŸ‚αž›αž•αŸ’αž‘αž»αž€αž“αŸ…αž€αŸ’αž“αž»αž„ BlockCache αž‚αžΊαžαž»αžŸαž‚αŸ’αž“αžΆαŸ” αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž”αŸ’αžšαž αŸ‚αž› 95% αž‚αžΊαž‡αžΆαž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αž›αž½αž“αž―αž„αŸ” αž αžΎαž™αž“αŸ…αžŸαž›αŸ‹αž‚αžΊαž‡αžΆαž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸαžαžΆ αžŠαžΌαž…αž‡αžΆαžαž˜αŸ’αžšαž„ Bloom ឬ LEAF_INDEX αž“αž·αž„ αž›αŸ”. αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸαŸ‡αž˜αž·αž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžαŸ’αž›αžΆαŸ†αž„αžŽαžΆαžŸαŸ‹ αž–αžΈαž–αŸ’αžšαŸ„αŸ‡αž˜αž»αž“αž–αŸαž›αž…αžΌαž›αž”αŸ’αžšαžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹ HBase αž„αžΆαž€αž‘αŸ…αžšαž€αž˜αŸαžαžΆαžŠαžΎαž˜αŸ’αž”αžΈαžŸαŸ’αžœαŸ‚αž„αž™αž›αŸ‹αžαžΆαžαžΎαž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαžŸαŸ’αžœαŸ‚αž„αžšαž€αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αž αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžŠαžΌαž…αŸ’αž“αŸαŸ‡ αžαžΎαž”αŸ’αž›αž»αž€αž…αŸ†αžŽαžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžŸαŸ’αžαž·αžαž“αŸ…αžαŸ’αžšαž„αŸ‹αžŽαžΆαŸ”

αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΌαžŠαž™αžΎαž„αžƒαžΎαž‰αž›αž€αŸ’αžαžαžŽαŸ’αžŒαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™ buf.getBlockType().isData() αž αžΎαž™αž’αžšαž‚αž»αžŽαž…αŸ†αž–αŸ„αŸ‡αž˜αŸαžαžΆαž“αŸαŸ‡ αž™αžΎαž„αž“αžΉαž„αž‘αž»αž€αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžŽαžΆαž€αŸαžŠαŸ„αž™αŸ”

αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž…αžΌαžšαž”αž„αŸ’αž€αžΎαž“αž€αžΆαžšαž•αŸ’αž‘αž»αž€ αž“αž·αž„αžšαžΉαžαž”αž“αŸ’αžαžΉαž„αž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αž”αž“αŸ’αžαž·αž…αž€αŸ’αž“αž»αž„αž˜αž½αž™αž›αžΎαž€αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžŠαŸ†αž”αžΌαž„ αž™αžΎαž„αž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž—αžΆαž‚αžšαž™αž“αŸƒαž€αžΆαžšαž€αžΆαžαŸ‹αž…αŸαž‰ = 20 αž αžΎαž™ BlockCache αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžαž·αž…αžαž½αž…αŸ” αž₯αž‘αžΌαžœβ€‹αž™αžΎαž„β€‹αž€αŸ†αžŽαžαŸ‹β€‹αžœαžΆβ€‹αž‘αŸ… 23% αž αžΎαž™β€‹αž”αž“αŸ’αžαŸ‚αž˜ 100 αžαŸ’αžŸαŸ‚β€‹αžšαžΆαž›αŸ‹ 5 αž“αžΆαž‘αžΈβ€‹αž˜αŸ’αžαž„ αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž˜αžΎαž›β€‹αžαžΆβ€‹αžαžΎβ€‹αž…αŸ†αžŽαž»αž…β€‹αž†αŸ’αž’αŸ‚αžβ€‹αž’αŸ’αžœαžΈβ€‹αž€αžΎαžβ€‹αž‘αžΎαž„αŸ–

αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž’αžΆαž“αž–αžΈ HBase αžŠαž›αŸ‹αž‘αŸ… 3 αžŠαž„ αž“αž·αž„αž–αžΈ HDFS αžŠαž›αŸ‹ 5 αžŠαž„

αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž™αžΎαž„αžƒαžΎαž‰αžαžΆαž€αŸ†αžŽαŸ‚αžŠαžΎαž˜αžŸαŸ’αž‘αžΎαžšαžαŸ‚αž—αŸ’αž›αžΆαž˜αŸ—αžˆαžΆαž“αžŠαž›αŸ‹αž–αž·αžŠαžΆαž“αž”αŸ’αžšαž αŸ‚αž› 100 αž–αžΆαž“αŸ‹αžŸαŸ†αžŽαžΎαž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈαŸ” αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž”αŸ†αžŽαŸ‡αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αžšαž αžΌαžαžŠαž›αŸ‹ 300 αž–αžΆαž“αŸ‹αŸ” αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡ αžœαžΆαž…αŸ’αž”αžΆαžŸαŸ‹αžŽαžΆαžŸαŸ‹αžαžΆαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž‚αžΊαž›αŸ‚αž„ "αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ" αž‘αŸ€αžαž αžΎαž™ αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌαž€αŸαž€αžΎαž“αž‘αžΎαž„αž•αž„αžŠαŸ‚αžšαŸ”

αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž“αŸαŸ‡αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŠαŸαž”αŸ’αžšαžŽαž·αžαž“αŸ„αŸ‡αž‘αŸ αžŠαŸ„αž™αžŸαžΆαžšαž™αžΎαž„αž˜αž·αž“αžŠαžΉαž„αž‡αžΆαž˜αž»αž“αžαžΆαžαžΎαž—αžΆαž‚αžšαž™αž“αŸƒαž”αŸ’αž›αž»αž€αžαŸ’αžšαžΌαžœαžŠαžΆαž€αŸ‹αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡ αžœαžΆαž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž‘αž˜αŸ’αžšαž„αŸ‹αž•αŸ’αž‘αž»αž€αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž™αž“αŸ’αžαž€αžΆαžšαž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ‚αžαž˜αŸ’αžšαžΌαžœαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž“αŸαŸ‡αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž’αžΆαž“αŸ”

αž‡αž˜αŸ’αžšαžΎαžŸαž”αžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŠαžΎαž˜αŸ’αž”αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžœαžΆαŸ–

hbase.lru.cache.heavy.eviction.count.limit β€” αž€αŸ†αžŽαžαŸ‹αž…αŸ†αž“αž½αž“αžŠαž„αžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž‘αž·αž“αŸ’αž“αž“αŸαž™αž…αŸαž‰αž–αžΈαžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž‚αž½αžšαžαŸ‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž˜αž»αž“αž–αŸαž›αž™αžΎαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αŸ’αžšαžΎαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž– (ឧ. αžšαŸ†αž›αž„αž”αŸ’αž›αž»αž€)αŸ” αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αžœαžΆαžŸαŸ’αž˜αžΎαž“αžΉαž„ MAX_INT = 2147483647 αž αžΎαž™αžαžΆαž˜αž–αž·αžαž˜αžΆαž“αž“αŸαž™αžαžΆαž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αž“αžΉαž„αž˜αž·αž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαž˜αž½αž™αžαž˜αŸ’αž›αŸƒαž“αŸαŸ‡αž‘αŸαŸ” αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžšαŸ€αž„αžšαžΆαž›αŸ‹ 5 - 10 αžœαž·αž“αžΆαž‘αžΈ (αžœαžΆαž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž”αž“αŸ’αž‘αž»αž€) αž“αž·αž„ 2147483647 * 10 / 60 / 60 / 24 / 365 = 680 αž†αŸ’αž“αžΆαŸ†αŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž™αžΎαž„αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž“αŸαŸ‡αž‘αŸ…αž‡αžΆ 0 αž“αž·αž„αž’αŸ’αžœαžΎαž±αŸ’αž™αž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž—αŸ’αž›αžΆαž˜αŸ—αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”

αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™αž€αŸαž˜αžΆαž“ payload αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž“αŸαŸ‡αž•αž„αžŠαŸ‚αžšαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž”αž“αŸ’αž‘αž»αž€αžšαž”αžŸαŸ‹αž™αžΎαž„αž‚αžΊαžŠαžΌαž…αž‡αžΆαž€αžΆαžšαž’αžΆαž“αžšαž™αŸˆαž–αŸαž›αžαŸ’αž›αžΈ (αž“αž·αž™αžΆαž™αž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αžαŸ’αž„αŸƒ) αž“αž·αž„αž€αžΆαžšαž’αžΆαž“αžšαž™αŸˆαž–αŸαž›αžœαŸ‚αž„ (αž“αŸ…αž–αŸαž›αž™αž”αŸ‹) αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αžΆαž™αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž₯αžαžˆαž”αŸ‹αžˆαžš αž“αŸ„αŸ‡αž™αžΎαž„αž’αžΆαž…αž”αŸ’αžšαžΆαž€αžŠαžαžΆαž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€αžαŸ‚αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž’αžΆαž“αžœαŸ‚αž„αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”

αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αž™αžΎαž„αžŠαžΉαž„αžαžΆαž€αžΆαžšαž’αžΆαž“αžšαž™αŸˆαž–αŸαž›αžαŸ’αž›αžΈαž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαž˜αžΆαž“αžšαž™αŸˆαž–αŸαž›αž”αŸ’αžšαž αŸ‚αž› 1 αž“αžΆαž‘αžΈαŸ” αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αŸ„αŸ‡αž…αŸ„αž›αž”αŸ’αž›αž»αž€αž‘αŸ αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž“αžΉαž„αž˜αž·αž“αž˜αžΆαž“αž–αŸαž›αžœαŸαž›αžΆαžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ’αž›αžΆαž™αž‡αžΆαž αž½αžŸαžŸαž˜αŸαž™αž‘αŸ αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž™αžΎαž„αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž“αŸαŸ‡αžŸαŸ’αž˜αžΎαž“αžΉαž„αž§αž‘αžΆαž αžšαžŽαŸ 10. αž“αŸαŸ‡αž“αžΉαž„αž“αžΆαŸ†αž±αŸ’αž™αž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž“αžΉαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ‚αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžšαž™αŸˆαž–αŸαž›αž™αžΌαžš - αž€αžΆαžšβ€‹αž’αžΆαž“β€‹αžŸαž€αž˜αŸ’αž˜β€‹αž–αžΆαž€αŸ’αž™β€‹αž”αžΆαž“β€‹αž…αžΆαž”αŸ‹β€‹αž•αŸ’αžαžΎβ€‹αž˜, i.e. αž€αŸ’αž“αž»αž„ 100 αžœαž·αž“αžΆαž‘αžΈαŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž’αžΆαž“αžšαž™αŸˆαž–αŸαž›αžαŸ’αž›αžΈ αž“αŸ„αŸ‡αž”αŸ’αž›αž»αž€αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αžΉαž„αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž αžΎαž™αž“αžΉαž„αž˜αžΆαž“ (αž›αžΎαž€αž›αŸ‚αž„αžαŸ‚αž’αŸ’αž“αž€αžŠαŸ‚αž›αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αžŠαŸ„αž™αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžš)αŸ” αž αžΎαž™αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž™αžΎαž„αž’αžΆαž“αžšαž™αŸˆαž–αŸαž›αžœαŸ‚αž„ αž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€ αž αžΎαž™αž™αžΎαž„αž“αžΉαž„αž˜αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ’αž–αžŸαŸ‹αž‡αžΆαž„αž…αŸ’αžšαžΎαž“αŸ”

hbase.lru.cache.heavy.eviction.mb.size.limit - αž€αŸ†αžŽαžαŸ‹αž…αŸ†αž“αž½αž“αž˜αŸαž€αžΆαž”αŸƒαžŠαŸ‚αž›αž™αžΎαž„αž…αž„αŸ‹αžŠαžΆαž€αŸ‹αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹ (αž αžΎαž™αž‡αžΆαž€αžΆαžšαž–αž·αž αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰) αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž› 10 αžœαž·αž“αžΆαž‘αžΈαŸ” αž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αž“αžΉαž„αž–αŸ’αž™αžΆαž™αžΆαž˜αžˆαžΆαž“αžŠαž›αŸ‹αžαž˜αŸ’αž›αŸƒαž“αŸαŸ‡αž αžΎαž™αžšαž€αŸ’αžŸαžΆαžœαžΆαŸ” αž…αŸ†αžŽαž»αž…αž‚αžΊαž“αŸαŸ‡αŸ– αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αžšαž»αž‰αž‡αžΈαž αŸ’αž‚αžΆαž”αŸƒαž‘αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αŸ„αŸ‡αž™αžΎαž„αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ αž‡αžΈαž αŸ’αž‚αžΆαž”αŸƒ αž αžΎαž™αž“αŸαŸ‡αžŠαžΌαž…αžŠαŸ‚αž›αž™αžΎαž„αž”αžΆαž“αžƒαžΎαž‰αžαžΆαž„αž›αžΎ αž‚αžΊαž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαžαŸ’αž›αŸƒαžŽαžΆαžŸαŸ‹αŸ” αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž’αŸ’αž“αž€αž˜αž·αž“αž‚αž½αžšαž–αŸ’αž™αžΆαž™αžΆαž˜αž€αŸ†αžŽαžαŸ‹αžœαžΆαž±αŸ’αž™αžαžΌαž…αž–αŸαž€αž‘αŸ αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαž“αžΉαž„αž’αŸ’αžœαžΎαž±αŸ’αž™αžšαž”αŸ€αž”αžšαŸ†αž›αž„αž”αŸ’αž›αž»αž€αž…αŸαž‰αž˜αž»αž“αž’αžΆαž™αž»αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ‚αž›αž˜αžΆαž“αžαžΆαž˜αž–αž› (αž”αŸ’αžšαž αŸ‚αž› 20-40 αžŸαŸ’αž“αžΌαž›αžšαžΆαž„αž€αžΆαž™) αžœαžΆαž›αŸ’αž’αž”αŸ†αž•αž»αžαž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž”αŸ’αžšαž αŸ‚αž› 300-400 αž˜αŸαž€αžΆαž”αŸƒαŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž“αžΆαž€αŸ‹αž€αžŽαŸ’αžαžΆαž› (~10 cores) 200-300 MB αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžαŸ’αžŸαŸ„αž™ (2-5 cores) 50-100 MB αž’αžΆαž…αž‡αžΆαžšαžΏαž„αž’αž˜αŸ’αž˜αžαžΆ (αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžΆαž€αž›αŸ’αž”αž„αž›αžΎαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‘αŸ)αŸ”

αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ– αž§αž”αž˜αžΆαžαžΆαž™αžΎαž„αž€αŸ†αžŽαžαŸ‹ hbase.lru.cache.heavy.eviction.mb.size.limit = 500 αžœαžΆαž˜αžΆαž“αž”αŸ’αžšαž—αŸαž‘αž“αŸƒαž€αžΆαžšαž•αŸ’αž‘αž»αž€ (αž’αžΆαž“) αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžšαŸ€αž„αžšαžΆαž›αŸ‹ ~ 10 αžœαž·αž“αžΆαž‘αžΈαž™αžΎαž„αž‚αžŽαž“αžΆαž…αŸ†αž“αž½αž“αž”αŸƒαŸ” αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αžŠαŸ„αž™αž”αŸ’αžšαžΎαžšαžΌαž”αž˜αž“αŸ’αžαŸ–

αž›αžΎαžŸ = Freed Bytes Sum (MB) * 100 / Limit (MB) - 100;

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αžΆαžšαž–αž·αž 2000 MB αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ αž“αŸ„αŸ‡ Overhead αž‚αžΊαžŸαŸ’αž˜αžΎαž“αžΉαž„αŸ–

2000 * 100 / 500 - 100 = 300%

αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž–αŸ’αž™αžΆαž™αžΆαž˜αžšαž€αŸ’αžŸαžΆαž˜αž·αž“αž›αžΎαžŸαž–αžΈαž–αžΈαžšαž”αžΈαžŠαž”αŸ‹αž—αžΆαž‚αžšαž™ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαž“αžΉαž„αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž—αžΆαž‚αžšαž™αž“αŸƒαž”αŸ’αž›αž»αž€αžŠαŸ‚αž›αž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€ αžŠαŸ„αž™αž αŸαžαž»αž“αŸαŸ‡αž’αž“αž»αžœαžαŸ’αžαž™αž“αŸ’αžαž€αžΆαžšαž›αŸƒαžαž˜αŸ’αžšαžΌαžœαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ”

αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž’αŸ’αž›αžΆαž€αŸ‹αž…αž»αŸ‡ αž§αž”αž˜αžΆαžαžΆαž˜αžΆαž“αžαŸ‚ 200 MB αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ αž αžΎαž™ Overhead αž€αŸ’αž›αžΆαž™αž‡αžΆαž’αžœαž·αž‡αŸ’αž‡αž˜αžΆαž“ (αž αŸ…αžαžΆαž€αžΆαžšαž›αžΎαžŸαž‘αž˜αŸ’αž„αž“αŸ‹):

200 * 100 / 500 - 100 = -60%

αž•αŸ’αž‘αž»αž™αž‘αŸ…αžœαž·αž‰ αž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αž“αžΉαž„αž”αž„αŸ’αž€αžΎαž“αž—αžΆαž‚αžšαž™αž“αŸƒαž”αŸ’αž›αž»αž€αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžšαž αžΌαžαžŠαž›αŸ‹ Overhead αž€αŸ’αž›αžΆαž™αž‡αžΆαžœαž·αž‡αŸ’αž‡αž˜αžΆαž“αŸ”

αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαž˜αžΎαž›αž‘αŸ…αž›αžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αž·αžαŸ” αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž–αŸ’αž™αžΆαž™αžΆαž˜αžˆαžΆαž“αžŠαž›αŸ‹ 0% αžœαžΆαž˜αž·αž“αž’αžΆαž…αž‘αŸ…αžšαž½αž…αž‘αŸαŸ” αžœαžΆαž›αŸ’αž’αžŽαžΆαžŸαŸ‹αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžœαžΆαž˜αžΆαž“αž”αŸ’αžšαž αŸ‚αž› 30 - 100% αžœαžΆαž‡αž½αž™αž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž…αžΆαž€αž…αŸαž‰αž˜αž»αž“αž’αžΆαž™αž»αž–αžΈαžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž’αŸ†αž‘αž»αž„αž–αŸαž›αž˜αžΆαž“αž€αžΆαžšαž€αžΎαž“αž‘αžΎαž„αžšαž™αŸˆαž–αŸαž›αžαŸ’αž›αžΈαŸ”

hbase.lru.cache.heavy.eviction.overhead.coefficient β€” αž€αŸ†αžŽαžαŸ‹αžαžΆαžαžΎαž™αžΎαž„αž…αž„αŸ‹αž‘αž‘αž½αž›αž”αžΆαž“αž›αž‘αŸ’αž’αž•αž›αž›αžΏαž“αž”αŸ‰αž»αžŽαŸ’αžŽαžΆαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αžŠαžΉαž„αž…αŸ’αž”αžΆαžŸαŸ‹αžαžΆαž€αžΆαžšαž’αžΆαž“αžšαž”αžŸαŸ‹αž™αžΎαž„αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αžœαŸ‚αž„ αž αžΎαž™αž˜αž·αž“αž…αž„αŸ‹αžšαž„αŸ‹αž…αžΆαŸ† αž™αžΎαž„αž’αžΆαž…αž”αž„αŸ’αž€αžΎαž“αžŸαž˜αžΆαž˜αžΆαžαŸ’αžšαž“αŸαŸ‡ αž“αž·αž„αž‘αž‘αž½αž›αž”αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αžαŸ’αž–αžŸαŸ‹αž›αžΏαž“αž‡αžΆαž„αž˜αž»αž“αŸ”

αž§αž‘αžΆαž αžšαžŽαŸαž™αžΎαž„αž€αŸ†αžŽαžαŸ‹αž˜αŸαž‚αž»αžŽαž“αŸαŸ‡ = 0.01 αŸ” αž“αŸαŸ‡αž˜αžΆαž“αž“αŸαž™αžαžΆ Overhead (αžŸαžΌαž˜αž˜αžΎαž›αžαžΆαž„αž›αžΎ) αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αž»αžŽαžŠαŸ„αž™αž›αŸαžαž“αŸαŸ‡αžŠαŸ„αž™αž›αž‘αŸ’αž’αž•αž›αž›αž‘αŸ’αž’αž•αž› αž αžΎαž™αž—αžΆαž‚αžšαž™αž“αŸƒαž”αŸ’αž›αž»αž€αžŠαŸ‚αž›αž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αŸ” αž…αžΌαžšαžŸαž“αŸ’αž˜αžαžαžΆ Overhead = 300% αž“αž·αž„αž˜αŸαž‚αž»αžŽ = 0.01 αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž—αžΆαž‚αžšαž™αž“αŸƒαž”αŸ’αž›αž»αž€αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™ 3% αŸ”

αžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆ "Backpressure" αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž“αŸαŸ‡αž€αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαž˜αŸ’αž›αŸƒαž’αžœαž·αž‡αŸ’αž‡αž˜αžΆαž“ (αž€αžΆαžšαž›αžΎαžŸαž…αŸ†αžŽαž»αŸ‡) αž•αž„αžŠαŸ‚αžšαŸ” αžŠαŸ„αž™αžŸαžΆαžšαž€αžΆαžšαž”αŸ’αžšαŸ‚αž”αŸ’αžšαž½αž›αžšαž™αŸˆαž–αŸαž›αžαŸ’αž›αžΈαž“αŸƒαž”αžšαž·αž˜αžΆαžŽαž’αžΆαž“ αž“αž·αž„αž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž‚αžΊαžαŸ‚αž„αžαŸ‚αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“ αž™αž“αŸ’αžαž€αžΆαžšαž“αŸαŸ‡αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž…αžΆαž€αž…αŸαž‰αž˜αž»αž“αž’αžΆαž™αž»αž–αžΈαžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αŸ” Backpressure αž˜αžΆαž“αžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆαž”αž‰αŸ’αž…αŸ’αžšαžΆαžŸαŸ– αž€αžΆαžšαžœαžΆαž™αž›αž»αž€αž€αžΆαž“αŸ‹αžαŸ‚αžαŸ’αž›αžΆαŸ†αž„ αž”αŸ’αž›αž»αž€αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αž»αž€αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αŸ”

αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž’αžΆαž“αž–αžΈ HBase αžŠαž›αŸ‹αž‘αŸ… 3 αžŠαž„ αž“αž·αž„αž–αžΈ HDFS αžŠαž›αŸ‹ 5 αžŠαž„

αž›αŸαžαž€αžΌαžŠαž’αž“αž»αžœαžαŸ’αž

        LruBlockCache cache = this.cache.get();
        if (cache == null) {
          break;
        }
        freedSumMb += cache.evict()/1024/1024;
        /*
        * Sometimes we are reading more data than can fit into BlockCache
        * and it is the cause a high rate of evictions.
        * This in turn leads to heavy Garbage Collector works.
        * So a lot of blocks put into BlockCache but never read,
        * but spending a lot of CPU resources.
        * Here we will analyze how many bytes were freed and decide
        * decide whether the time has come to reduce amount of caching blocks.
        * It help avoid put too many blocks into BlockCache
        * when evict() works very active and save CPU for other jobs.
        * More delails: https://issues.apache.org/jira/browse/HBASE-23887
        */

        // First of all we have to control how much time
        // has passed since previuos evict() was launched
        // This is should be almost the same time (+/- 10s)
        // because we get comparable volumes of freed bytes each time.
        // 10s because this is default period to run evict() (see above this.wait)
        long stopTime = System.currentTimeMillis();
        if ((stopTime - startTime) > 1000 * 10 - 1) {
          // Here we have to calc what situation we have got.
          // We have the limit "hbase.lru.cache.heavy.eviction.bytes.size.limit"
          // and can calculte overhead on it.
          // We will use this information to decide,
          // how to change percent of caching blocks.
          freedDataOverheadPercent =
            (int) (freedSumMb * 100 / cache.heavyEvictionMbSizeLimit) - 100;
          if (freedSumMb > cache.heavyEvictionMbSizeLimit) {
            // Now we are in the situation when we are above the limit
            // But maybe we are going to ignore it because it will end quite soon
            heavyEvictionCount++;
            if (heavyEvictionCount > cache.heavyEvictionCountLimit) {
              // It is going for a long time and we have to reduce of caching
              // blocks now. So we calculate here how many blocks we want to skip.
              // It depends on:
             // 1. Overhead - if overhead is big we could more aggressive
              // reducing amount of caching blocks.
              // 2. How fast we want to get the result. If we know that our
              // heavy reading for a long time, we don't want to wait and can
              // increase the coefficient and get good performance quite soon.
              // But if we don't sure we can do it slowly and it could prevent
              // premature exit from this mode. So, when the coefficient is
              // higher we can get better performance when heavy reading is stable.
              // But when reading is changing we can adjust to it and set
              // the coefficient to lower value.
              int change =
                (int) (freedDataOverheadPercent * cache.heavyEvictionOverheadCoefficient);
              // But practice shows that 15% of reducing is quite enough.
              // We are not greedy (it could lead to premature exit).
              change = Math.min(15, change);
              change = Math.max(0, change); // I think it will never happen but check for sure
              // So this is the key point, here we are reducing % of caching blocks
              cache.cacheDataBlockPercent -= change;
              // If we go down too deep we have to stop here, 1% any way should be.
              cache.cacheDataBlockPercent = Math.max(1, cache.cacheDataBlockPercent);
            }
          } else {
            // Well, we have got overshooting.
            // Mayby it is just short-term fluctuation and we can stay in this mode.
            // It help avoid permature exit during short-term fluctuation.
            // If overshooting less than 90%, we will try to increase the percent of
            // caching blocks and hope it is enough.
            if (freedSumMb >= cache.heavyEvictionMbSizeLimit * 0.1) {
              // Simple logic: more overshooting - more caching blocks (backpressure)
              int change = (int) (-freedDataOverheadPercent * 0.1 + 1);
              cache.cacheDataBlockPercent += change;
              // But it can't be more then 100%, so check it.
              cache.cacheDataBlockPercent = Math.min(100, cache.cacheDataBlockPercent);
            } else {
              // Looks like heavy reading is over.
              // Just exit form this mode.
              heavyEvictionCount = 0;
              cache.cacheDataBlockPercent = 100;
            }
          }
          LOG.info("BlockCache evicted (MB): {}, overhead (%): {}, " +
            "heavy eviction counter: {}, " +
            "current caching DataBlock (%): {}",
            freedSumMb, freedDataOverheadPercent,
            heavyEvictionCount, cache.cacheDataBlockPercent);

          freedSumMb = 0;
          startTime = stopTime;
       }

αž₯αž‘αžΌαžœαž“αŸαŸ‡ αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αžŠαŸ„αž™αž”αŸ’αžšαžΎαž§αž‘αžΆαž αžšαžŽαŸαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αŸ” αž™αžΎαž„αž˜αžΆαž“αžŸαŸ’αž‚αŸ’αžšαžΈαž”αžŸαžΆαž€αž›αŸ’αž”αž„αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

  1. αžαŸ„αŸ‡αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ Scan (25 threads, batch=100)
  2. αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈ 5 αž“αžΆαž‘αžΈαž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‘αž‘αž½αž›αž”αžΆαž“αž…αŸ’αžšαžΎαž“ (25 αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™, αž”αžΆαž…αŸ‹ = 100)
  3. αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈ 5 αž“αžΆαž‘αžΈ αžŸαžΌαž˜αž”αž·αž‘αž€αžΆαžšαž‘αž‘αž½αž›αž…αŸ’αžšαžΎαž“ (αž“αŸ…αžŸαž›αŸ‹αžαŸ‚αžŸαŸ’αž€αŸαž“αž˜αŸ’αžαž„αž‘αŸ€αž)

αž™αžΎαž„αž’αŸ’αžœαžΎαž€αžΆαžšαžšαžαŸ‹αž–αžΈαžš αž‘αžΈαž˜αž½αž™ hbase.lru.cache.heavy.eviction.count.limit = 10000 (αžŠαŸ‚αž›αž–αž·αžαž‡αžΆαž”αž·αž‘αž˜αž»αžαž„αžΆαžš) αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž€αŸ†αžŽαžαŸ‹ limit = 0 (αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžœαžΆ)αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αžαžΆαž„αž€αŸ’αžšαŸ„αž˜ αž™αžΎαž„αžƒαžΎαž‰αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž˜αž»αžαž„αžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€ αž αžΎαž™αž€αŸ†αžŽαžαŸ‹αž€αžΆαžš Overshooting αž‘αžΎαž„αžœαž·αž‰αž‘αŸ… 14-71%αŸ” αž™αžΌαžšαŸ—αž˜αŸ’αžαž„ αž”αž“αŸ’αž‘αž»αž€αžαž™αž…αž»αŸ‡ αžŠαŸ‚αž›αž”αžΎαž€ Backpressure αž αžΎαž™ HBase αž•αŸ’αž‘αž»αž€αž”αŸ’αž›αž»αž€αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž˜αŸ’αžαž„αž‘αŸ€αžαŸ”

Log RegionServer
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 0, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.0, αž›αžΎαžŸ (%): -100, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 0, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 100
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 0, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.0, αž›αžΎαžŸ (%): -100, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 0, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 100
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 2170, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 1.09, αž›αžΎαžŸ (%): 985, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 1, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 91 < αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 3763, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 1.08, αž›αžΎαžŸ (%): 1781, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 2, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 76
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 3306, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 1.07, αž›αžΎαžŸ (%): 1553, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 3, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 61
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 2508, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 1.06, αž›αžΎαžŸ (%): 1154, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 4, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 50
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 1824, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 1.04, αž›αžΎαžŸ (%): 812, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 5, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 42
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 1482, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 1.03, αž›αžΎαžŸ (%): 641, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 6, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 36
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 1140, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 1.01, αž›αžΎαžŸ (%): 470, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 7, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 32
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 913, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 1.0, αž›αžΎαžŸ (%): 356, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 8, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 29
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 912, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.89, αž›αžΎαžŸ (%): 356, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 9, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 26
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 684, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.76, αž›αžΎαžŸ (%): 242, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 10, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 24
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 684, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.61, αž›αžΎαžŸ (%): 242, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 11, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 456, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.51, αž›αžΎαžŸ (%): 128, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 12, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 21
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 456, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.42, αž›αžΎαžŸ (%): 128, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 13, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 20
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 456, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.33, αž›αžΎαžŸ (%): 128, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 14, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 19
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.33, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 15, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 19
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.32, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 16, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 19
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.31, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 17, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 19
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.3, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 18, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 19
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.29, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 19, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 19
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.27, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 20, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 19
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.25, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 21, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 19
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.24, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 22, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 19
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.22, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 23, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 19
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.21, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 24, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 19
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.2, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 25, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 19
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.17, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 26, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 19
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 456, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.17, αž›αžΎαžŸ (%): 128, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 27, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 18 < αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αž‘αž½αž›αž”αžΆαž“ (αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαžΆαžšαžΆαž„αžŠαžΌαž…αž‚αŸ’αž“αžΆ)
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 456, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.15, αž›αžΎαžŸ (%): 128, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 28, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 17
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.13, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 29, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 17
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.11, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 30, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 17
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.09, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 31, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 17
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.08, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 32, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 17
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.07, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 33, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 17
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.06, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 34, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 17
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.05, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 35, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 17
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.05, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 36, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 17
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.04, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 37, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 17
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 109, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.04, αž›αžΎαžŸ (%): -46, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 37, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22 < αžŸαž˜αŸ’αž–αžΆαž’αžαžΆαž„αž€αŸ’αžšαŸ„αž™
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 798, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.24, αž›αžΎαžŸ (%): 299, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 38, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 20
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 798, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.29, αž›αžΎαžŸ (%): 299, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 39, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 18
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 570, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.27, αž›αžΎαžŸ (%): 185, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 40, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 17
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 456, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.22, αž›αžΎαžŸ (%): 128, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 41, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 16
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.16, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 42, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 16
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.11, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 43, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 16
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.09, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 44, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 16
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.07, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 45, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 16
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.05, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 46, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 16
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 222, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.04, αž›αžΎαžŸ (%): 11, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 47, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 16
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 104, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.03, αž›αžΎαžŸ (%): -48, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 47, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 21 < αž€αžΆαžšαžšαŸ†αžαžΆαž“αž‘αž‘αž½αž›αž”αžΆαž“
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 684, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.2, αž›αžΎαžŸ (%): 242, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 48, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 19
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 570, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.23, αž›αžΎαžŸ (%): 185, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 49, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 18
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.22, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 50, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 18
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.21, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 51, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 18
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.2, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 52, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 18
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.18, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 53, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 18
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.16, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 54, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 18
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 228, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.14, αž›αžΎαžŸ (%): 14, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 55, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 18
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 112, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.14, αž›αžΎαžŸ (%): -44, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 55, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 23 < αžŸαž˜αŸ’αž–αžΆαž’αžαžΆαž„αž€αŸ’αžšαŸ„αž™
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 456, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.26, αž›αžΎαžŸ (%): 128, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 56, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.31, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 57, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.33, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 58, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.33, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 59, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.33, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 60, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.33, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 61, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.33, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 62, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.33, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 63, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.32, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 64, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.33, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 65, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.33, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 66, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.32, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 67, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.33, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 68, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.32, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 69, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.32, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 70, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.33, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 71, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.33, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 72, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.33, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 73, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.33, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 74, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.33, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 75, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 342, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.33, αž›αžΎαžŸ (%): 71, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 76, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 22
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 21, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.33, αž›αžΎαžŸ (%): -90, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 76, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 32
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 0, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.0, αž›αžΎαžŸ (%): -100, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 0, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 100
αž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ (MB): 0, αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš 0.0, αž›αžΎαžŸ (%): -100, αž”αž‰αŸ’αž‡αžšαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰αž’αŸ’αž„αž“αŸ‹: 0, αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ DataBlock (%): 100

αž€αžΆαžšαžŸαŸ’αž€αŸαž“αž‚αžΊαž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž αžΆαž‰αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαžΌαž…αž‚αŸ’αž“αžΆαž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž‡αžΆαž€αŸ’αžšαžΆαž αŸ’αžœαž“αŸƒαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αžšαžœαžΆαž„αž•αŸ’αž“αŸ‚αž€αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž–αžΈαžš - αžαŸ‚αž˜αž½αž™ (αžŠαŸ‚αž›αž”αŸ’αž›αž»αž€αžŠαŸ‚αž›αž˜αž·αž“αž’αŸ’αž›αžΆαž”αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαŸ’αž“αžΎαžŸαž»αŸ†αž–αžΈαž˜αž»αž“) αž“αž·αž„αž…αŸ’αžšαžΎαž“ (αž‘αž·αž“αŸ’αž“αž“αŸαž™ "αž”αžΆαž“αžŸαŸ’αž“αžΎαžŸαž»αŸ†" αž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αž˜αŸ’αžαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž“αŸ…αž‘αžΈαž“αŸαŸ‡)αŸ–

αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž’αžΆαž“αž–αžΈ HBase αžŠαž›αŸ‹αž‘αŸ… 3 αžŠαž„ αž“αž·αž„αž–αžΈ HDFS αžŠαž›αŸ‹ 5 αžŠαž„

αž αžΎαž™αž…αž»αž„αž€αŸ’αžšαŸ„αž™ αžαžΎαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αŸƒαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž’αŸ’αžœαžΈαž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž€αŸ’αžšαžΆαž αŸ’αžœαŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαŸ€αž”αž’αŸ€αž” αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž·αž‘αž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αž“αŸ…αžŠαžΎαž˜αžŠαŸ†αž”αžΌαž„ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ HBase αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαž˜αž½αž™αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž–αž“αŸ’αž™αžΆαž–αŸαž›αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αžΆαžšαž„αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αžαŸ’αžšαžΉαž˜ 5 αž“αžΆαž‘αžΈ (30 αžœαžŠαŸ’αžαž“αŸƒαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰) αŸ”

αž€αžΌαžŠαž–αŸαž‰αž›αŸαž‰αž’αžΆαž…αžšαž€αž”αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Pull Request HBASE 23887 αž“αŸ…αž›αžΎ github αŸ”

αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ 300 αž’αžΆαž“αž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈ αž˜αž·αž“αž˜αŸ‚αž“αžŸαž»αž‘αŸ’αž’αžαŸ‚αž’αžΆαž…αžŸαž˜αŸ’αžšαŸαž…αž”αžΆαž“αž“αŸ…αž›αžΎαž•αŸ’αž“αŸ‚αž€αžšαžΉαž„αž“αŸαŸ‡αž€αŸ’αžšαŸ„αž˜αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž“αŸ„αŸ‡αž‘αŸαŸ” αž€αžΆαžšαž–αž·αžαž‚αžΊαžαžΆαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αžαžΆαž˜αžšαž™αŸˆ HDFS αž™αž“αŸ’αžαž€αžΆαžš ShortCircuitCache (αžαž‘αŸ…αž“αŸαŸ‡αž αŸ…αžαžΆ SSC) αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎ αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž…αžΌαž›αž”αŸ’αžšαžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹ αž‡αŸ€αžŸαžœαžΆαž„αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž”αžŽαŸ’αžαžΆαž‰αŸ”

Profiling αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αžαžΆ αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž™αž“αŸ’αžαž€αžΆαžšαž“αŸαŸ‡αž•αŸ’αžαž›αŸ‹αž•αž›αž…αŸ†αžŽαŸαž‰αž…αŸ’αžšαžΎαž“αž€αŸαžŠαŸ„αž™ αžœαžΆαž€αŸαž“αŸ…αž…αŸ†αžŽαž»αž…αžαŸ’αž›αŸ‡αž€αŸ’αž›αžΆαž™αž‡αžΆαž§αž”αžŸαž‚αŸ’αž‚αž•αž„αžŠαŸ‚αžš αž–αžΈαž–αŸ’αžšαŸ„αŸ‡αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž’αŸ’αž„αž“αŸ‹αŸ—αžŸαŸ’αž‘αžΎαžšαžαŸ‚αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ„αžšαžŠαŸ‚αž›αž“αžΆαŸ†αž‘αŸ…αžŠαž›αŸ‹αž€αžΆαžšαžšαžΆαžšαžΆαŸ†αž„αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž“αŸƒαž–αŸαž›αžœαŸαž›αžΆαŸ”

αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž’αžΆαž“αž–αžΈ HBase αžŠαž›αŸ‹αž‘αŸ… 3 αžŠαž„ αž“αž·αž„αž–αžΈ HDFS αžŠαž›αŸ‹ 5 αžŠαž„

αžŠαŸ„αž™αž”αžΆαž“αžŠαžΉαž„αž–αžΈαž”αž‰αŸ’αž αžΆαž“αŸαŸ‡ αž™αžΎαž„αž”αžΆαž“αžŠαžΉαž„αžαžΆαž”αž‰αŸ’αž αžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ€αžŸαžœαžΆαž„αžŠαŸ„αž™αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž’αžΆαžšαŸαž“αŸƒ SSCs αž―αž€αžšαžΆαž‡αŸ’αž™αž˜αž½αž™αŸ–

private final ShortCircuitCache[] shortCircuitCache;
...
shortCircuitCache = new ShortCircuitCache[this.clientShortCircuitNum];
for (int i = 0; i < this.clientShortCircuitNum; i++)
  this.shortCircuitCache[i] = new ShortCircuitCache(…);

αž αžΎαž™β€‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž˜αž€β€‹αž’αŸ’αžœαžΎβ€‹αž€αžΆαžšβ€‹αž‡αžΆαž˜αž½αž™β€‹αž–αž½αž€β€‹αž‚αŸ αžŠαŸ„αž™β€‹αž˜αž·αž“β€‹αžšαžΆαž”αŸ‹β€‹αž”αž‰αŸ’αž…αžΌαž›β€‹αž…αŸ†αžŽαž»αž…β€‹αž”αŸ’αžšαžŸαž–αŸ’αžœβ€‹αž“αŸ…β€‹αžαŸ’αž‘αž„αŸ‹β€‹αž’αž»αž αŸ’αžœαžŸαž·αžβ€‹αž…αž»αž„β€‹αž€αŸ’αžšαŸ„αž™αŸ–

public ShortCircuitCache getShortCircuitCache(long idx) {
    return shortCircuitCache[(int) (idx % clientShortCircuitNum)];
}

αž₯αž‘αžΌαžœαž“αŸαŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžΆαž€αž›αŸ’αž”αž„αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αž“αŸαŸ‡αž™αžΎαž„αž“αžΉαž„αž’αžΆαž“αž―αž€αžŸαžΆαžšαž–αžΈ HDFS αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž–αž αž»αžαŸ’αžŸαŸ‚αžŸαžΆαž˜αž‰αŸ’αž‰αŸ” αž€αŸ†αžŽαžαŸ‹αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαŸ–

conf.set("dfs.client.read.shortcircuit", "true");
conf.set("dfs.client.read.shortcircuit.buffer.size", "65536"); // ΠΏΠΎ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Ρƒ = 1 ΠœΠ‘ ΠΈ это сильно замСдляСт Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, поэтому Π»ΡƒΡ‡ΡˆΠ΅ привСсти Π² соотвСтствиС ΠΊ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ Π½ΡƒΠΆΠ΄Π°ΠΌ
conf.set("dfs.client.short.circuit.num", num); // ΠΎΡ‚ 1 Π΄ΠΎ 10

αž αžΎαž™αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž’αžΆαž“αž―αž€αžŸαžΆαžšαŸ–

FSDataInputStream in = fileSystem.open(path);
for (int i = 0; i < count; i++) {
    position += 65536;
    if (position > 900000000)
        position = 0L;
    int res = in.read(position, byteBuffer, 0, 65536);
}

αž€αžΌαžŠαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αŸ’αž“αž»αž„αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€ αž αžΎαž™αž™αžΎαž„αž“αžΉαž„αž”αž„αŸ’αž€αžΎαž“αž…αŸ†αž“αž½αž“αž―αž€αžŸαžΆαžšαž’αžΆαž“αž€αŸ’αž“αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΆαž›αž‚αŸ’αž“αžΆ (αž–αžΈ 10 αž‘αŸ… 200 - αž’αŸαž€αŸ’αžŸαž•αŸ’αžαŸαž€) αž“αž·αž„αž…αŸ†αž“αž½αž“αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹ (αž–αžΈ 1 αžŠαž›αŸ‹ 10 - αž€αŸ’αžšαžΆαž αŸ’αžœαž·αž€)αŸ” αž’αŸαž€αŸ’αžŸαž”αž‰αŸ’αžˆαžšαž”αž„αŸ’αž αžΆαž‰αž–αžΈαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αžŠαŸ‚αž›αž”αžŽαŸ’αžαžΆαž›αž˜αž€αž–αžΈαž€αžΆαžšαž€αžΎαž“αž‘αžΎαž„αž“αŸƒ SSC αž‘αžΆαž€αŸ‹αž‘αž„αž‘αŸ…αž“αžΉαž„αž€αžšαžŽαžΈαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž˜αžΆαž“αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžαŸ‚αž˜αž½αž™αŸ”

αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž’αžΆαž“αž–αžΈ HBase αžŠαž›αŸ‹αž‘αŸ… 3 αžŠαž„ αž“αž·αž„αž–αžΈ HDFS αžŠαž›αŸ‹ 5 αžŠαž„

αžšαž”αŸ€αž”αž’αžΆαž“αž€αŸ’αžšαžΆαž αŸ’αžœαŸ– αž–αŸαž›αžœαŸαž›αžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ 100 αž–αžΆαž“αŸ‹αž’αžΆαž“αž€αŸ’αž“αž»αž„αž”αŸ’αž›αž»αž€ 64 KB αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž˜αž½αž™αžαŸ’αžšαžΌαžœαž€αžΆαžš 78 αžœαž·αž“αžΆαž‘αžΈαŸ” αž…αŸ†αžŽαŸ‚αž€β€‹αž―β€‹αžƒαŸ’αž›αžΆαŸ†αž„β€‹αžŸαž˜αŸ’αž„αžΆαžαŸ‹ 5 αžœαžΆβ€‹αžαŸ’αžšαžΌαžœβ€‹αž…αŸ†αžŽαžΆαž™β€‹αž–αŸαž› 16 αžœαž·αž“αžΆαž‘αžΈαŸ” αž‘αžΆαŸ†αž„αž“αŸ„αŸ‡αŸ” αž˜αžΆαž“αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“ ~ 5 αžŠαž„αŸ” αžŠαžΌαž…αžŠαŸ‚αž›αž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰αž–αžΈαž€αŸ’αžšαžΆαž αŸ’αžœ αž₯αž‘αŸ’αž’αž·αž–αž›αž‚αžΊαž˜αž·αž“αž‚αž½αžšαž±αŸ’αž™αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αžΆαž“αž”αŸ‰αžΆαžšαŸ‰αžΆαž‘αŸ‚αž›αž˜αž½αž™αž…αŸ†αž“αž½αž“αžαžΌαž…αž‘αŸ αžœαžΆαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαžΎαžšαžαž½αž“αžΆαž‘αžΈαž‚αž½αžšαž±αŸ’αž™αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž“αŸ…αž–αŸαž›αž˜αžΆαž“αž€αžΆαžšαž’αžΆαž“αž…αŸ’αžšαžΎαž“αž‡αžΆαž„ 50 αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αŸ” αžœαžΆαž€αŸαž‚αž½αžšαž±αŸ’αž™αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž•αž„αžŠαŸ‚αžšαžαžΆαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž…αŸ†αž“αž½αž“ SSCs αž–αžΈ 6 αž“αž·αž„αžαžΆαž„αž›αžΎαž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαž€αžΎαž“αž‘αžΎαž„αž“αŸƒαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžαž·αž…αžαž½αž…αŸ”

αž…αŸ†αžŽαžΆαŸ† 1: αžŠαŸ„αž™αžŸαžΆαžšαž›αž‘αŸ’αž’αž•αž›αžαŸαžŸαŸ’αžαž˜αžΆαž“αž—αžΆαž–αž”αŸ’αžšαŸ‚αž”αŸ’αžšαž½αž›αžαŸ’αž›αžΆαŸ†αž„ (αžŸαžΌαž˜αž˜αžΎαž›αžαžΆαž„αž€αŸ’αžšαŸ„αž˜) αž€αžΆαžšαžšαžαŸ‹αž…αŸ†αž“αž½αž“ 3 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αž αž αžΎαž™αžαž˜αŸ’αž›αŸƒαž›αž‘αŸ’αž’αž•αž›αž‚αžΊαž‡αžΆαž˜αž’αŸ’αž™αž˜αŸ”

αž…αŸ†αžŽαžΆαŸ†αž‘αžΈ 2αŸ– αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αž‘αž½αž›αž”αžΆαž“αž–αžΈαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαžŠαŸ„αž™αž…αŸƒαžŠαž“αŸ’αž™αž‚αžΊαžŠαžΌαž…αž‚αŸ’αž“αžΆ αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαžαŸ’αž›αž½αž“αžœαžΆαž™αžΊαžαž‡αžΆαž„αž”αž“αŸ’αžαž·αž…αž€αŸαžŠαŸ„αž™αŸ”

αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž±αŸ’αž™αž…αŸ’αž”αžΆαžŸαŸ‹αžαžΆ αž˜αž·αž“αžŠαžΌαž…αž€αžšαžŽαžΈαž‡αžΆαž˜αž½αž™ HBase αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž“αŸαŸ‡αž˜αž·αž“αžαŸ‚αž„αžαŸ‚αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαž“αŸ„αŸ‡αž‘αŸαŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž™αžΎαž„ "αžŠαŸ„αŸ‡αžŸαŸ„" αžŸαž˜αžαŸ’αžαž—αžΆαž–αžšαž”αžŸαŸ‹ CPU αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž€αžΆαžšαž„αžΆαžšαž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“ αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž€αžΆαžšαž–αŸ’αž™αž½αžšαž“αŸ…αž›αžΎαžŸαŸ„αŸ”

αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž’αžΆαž“αž–αžΈ HBase αžŠαž›αŸ‹αž‘αŸ… 3 αžŠαž„ αž“αž·αž„αž–αžΈ HDFS αžŠαž›αŸ‹ 5 αžŠαž„

αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αžŸαž„αŸ’αž€αŸαžαžƒαžΎαž‰αžαžΆ αž‡αžΆαž‘αžΌαž‘αŸ…αž€αžΆαžšαž€αžΎαž“αž‘αžΎαž„αž“αŸƒαž…αŸ†αž“αž½αž“αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαž€αžΎαž“αž‘αžΎαž„αžŸαž˜αžΆαž˜αžΆαžαŸ’αžšαž”αŸ’αžšαž αžΆαž€αŸ‹αž”αŸ’αžšαž αŸ‚αž›αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌαŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™αž˜αžΆαž“αž”αž“αŸ’αžŸαŸ†αžŠαŸ‚αž›αžˆαŸ’αž“αŸ‡αž…αŸ’αžšαžΎαž“αž‡αžΆαž„αž”αž“αŸ’αžαž·αž…αŸ”

αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ SSC = 3 αž²αŸ’αž™αž€αžΆαž“αŸ‹αžαŸ‚αžŠαž·αžαžŠαž›αŸ‹αŸ” αž€αžΆαžšαž€αžΎαž“αž‘αžΎαž„αž“αŸƒαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž›αžΎαž‡αž½αžšαž‚αžΊαž”αŸ’αžšαž αŸ‚αž› 3.3 αžŠαž„αŸ” αžαžΆαž„β€‹αž€αŸ’αžšαŸ„αž˜β€‹αž“αŸαŸ‡β€‹αž‡αžΆβ€‹αž›αž‘αŸ’αž’αž•αž›β€‹αž–αžΈβ€‹αž€αžΆαžšβ€‹αžšαžαŸ‹β€‹αž‘αžΆαŸ†αž„β€‹αž”αžΈβ€‹αžŠαžΆαž…αŸ‹β€‹αžŠαŸ„αž™β€‹αž‘αŸ‚αž€β€‹αž–αžΈβ€‹αž‚αŸ’αž“αžΆαŸ”

αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž’αžΆαž“αž–αžΈ HBase αžŠαž›αŸ‹αž‘αŸ… 3 αžŠαž„ αž“αž·αž„αž–αžΈ HDFS αžŠαž›αŸ‹ 5 αžŠαž„

αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌαž€αžΎαž“αž‘αžΎαž„αž”αŸ’αžšαž αŸ‚αž› 2.8 αžŠαž„αŸ” αž—αžΆαž–αžαž»αžŸαž”αŸ’αž›αŸ‚αž€αž‚αŸ’αž“αžΆαž“αŸαŸ‡αž˜αž·αž“αž’αŸ†αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚ Greta αžαžΌαž…αžŸαž”αŸ’αž”αžΆαž™αž…αž·αžαŸ’αžαžšαž½αž…αž‘αŸ…αž αžΎαž™ αž αžΎαž™αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αžΆαž“αž–αŸαž›αž‘αŸ…αžŸαžΆαž›αžΆ αž“αž·αž„αžšαŸ€αž“αŸ”

αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αžœαžΆαž“αžΉαž„αž˜αžΆαž“αž₯αž‘αŸ’αž’αž·αž–αž›αžœαž·αž‡αŸ’αž‡αž˜αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž§αž”αž€αžšαžŽαŸαžŽαžΆαž˜αž½αž™αžŠαŸ‚αž›αž”αŸ’αžšαžΎαž€αžΆαžšαž…αžΌαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž‘αŸ…αž€αžΆαž“αŸ‹ HDFS (αž§αž‘αžΆαž αžšαžŽαŸ Spark αŸ” . αžŠαžΎαž˜αŸ’αž”αžΈαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž› αžŸαžΌαž˜αžŸαžΆαž€αž›αŸ’αž”αž„αžαžΆαžαžΎαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžšαž½αž˜αž‚αŸ’αž“αžΆαž“αŸƒαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž– BlockCache αž“αž·αž„αž€αžΆαžšαž›αŸƒαžαž˜αŸ’αžšαžΌαžœ SSC αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αžΆαž“αž–αžΈ HBase αž“αžΉαž„αž˜αžΆαž“αž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡αŸ”

αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž’αžΆαž“αž–αžΈ HBase αžŠαž›αŸ‹αž‘αŸ… 3 αžŠαž„ αž“αž·αž„αž–αžΈ HDFS αžŠαž›αŸ‹ 5 αžŠαž„

αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž˜αžΎαž›αžƒαžΎαž‰αžαžΆαž“αŸ…αž€αŸ’αžšαŸ„αž˜αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž”αŸ‚αž”αž“αŸαŸ‡αž₯αž‘αŸ’αž’αž·αž–αž›αž‚αžΊαž˜αž·αž“αž’αžŸαŸ’αž…αžΆαžšαŸ’αž™αžŠαžΌαž…αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž…αž˜αŸ’αžšαžΆαž‰αŸ‹ (αž’αžΆαž“αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŽαžΆαž˜αž½αž™) αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž–αž·αžαž‡αžΆαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαž…αŸ’αžšαž”αžΆαž…αŸ‹αž…αŸαž‰ 80K αž”αž“αŸ’αžαŸ‚αž˜αž“αŸ…αž‘αžΈαž“αŸαŸ‡αŸ” αžšαž½αž˜αž‚αŸ’αž“αžΆ αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‘αžΆαŸ†αž„αž–αžΈαžšαž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αžŠαž›αŸ‹αž‘αŸ… 4 αžŠαž„αŸ”

PR αž€αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž“αŸαŸ‡αž•αž„αžŠαŸ‚αžšαŸ” [HDFS-15202]αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ αž αžΎαž™αž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αž“αžΉαž„αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αžΆαž–αŸαž›αžαžΆαž„αž˜αž»αžαŸ”

αž αžΎαž™αž…αž»αž„αž€αŸ’αžšαŸ„αž™ αžœαžΆαž‡αžΆαž€αžΆαžšαž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž€αžΆαžšαž’αžΆαž“αž“αŸƒαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž˜αžΆαž“αž‡αž½αžšαžˆαžšαž’αŸ†αž‘αžΌαž›αžΆαž™αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆ Cassandra αž“αž·αž„ HBase αŸ”

αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž™αžΎαž„αž”αžΆαž“αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαžΆαž€αž›αŸ’αž”αž„αž€αžΆαžšαž•αŸ’αž‘αž»αž€ YCSB αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž–αžΈαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž–αžΈαžš (αžŸαžšαž»αž”αž…αŸ†αž“αž½αž“ 800 αžαŸ’αžŸαŸ‚)αŸ” αž“αŸ…αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ - 4 αž€αžšαžŽαžΈαž“αŸƒ RegionServer αž“αž·αž„ Cassandra αž“αŸ…αž›αžΎ 4 αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ (αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αž’αžαž·αžαž·αž‡αž“αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ€αžŸαžœαžΆαž„αž₯αž‘αŸ’αž’αž·αž–αž›αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ) αŸ” αž€αžΆαžšαž’αžΆαž“αž”αžΆαž“αž˜αž€αž–αžΈαžαžΆαžšαžΆαž„αž‘αŸ†αž αŸ†αŸ–

HBase - 300 GB αž“αŸ…αž›αžΎ HDFS (αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαž»αž‘αŸ’αž’ 100 GB)

Cassandra - 250 GB (αž€αžαŸ’αžαžΆαž…αž˜αŸ’αž›αž„ = 3)

αž‘αžΆαŸ†αž„αž“αŸ„αŸ‡αŸ” αž”αžšαž·αž˜αžΆαžŽαž‚αžΊαž”αŸ’αžšαž αŸ‚αž›αžŠαžΌαž…αž‚αŸ’αž“αžΆ (αž€αŸ’αž“αž»αž„ HBase αž”αž“αŸ’αžαž·αž…αž‘αŸ€αž) αŸ”

αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš HBaseαŸ–

dfs.client.short.circuit.num = 5 (αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœ HDFS)

hbase.lru.cache.heavy.eviction.count.limit = 30 - αž“αŸαŸ‡αž˜αžΆαž“αž“αŸαž™αžαžΆαž”αŸ†αžŽαŸ‡αž“αžΉαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰ 30 (~ 5 αž“αžΆαž‘αžΈ)

hbase.lru.cache.heavy.eviction.mb.size.limit = 300 - αž”αžšαž·αž˜αžΆαžŽαž‚αŸ„αž›αžŠαŸ…αž“αŸƒαžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž…αŸαž‰

αž€αŸ†αžŽαžαŸ‹αž αŸαžαž» YCSB αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‰αŸ‚αž€ αž“αž·αž„αž…αž„αž€αŸ’αžšαž„αž‡αžΆαž€αŸ’αžšαžΆαž αŸ’αžœ ExcelαŸ–

αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž’αžΆαž“αž–αžΈ HBase αžŠαž›αŸ‹αž‘αŸ… 3 αžŠαž„ αž“αž·αž„αž–αžΈ HDFS αžŠαž›αŸ‹ 5 αžŠαž„

αžŠαžΌαž…αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αžƒαžΎαž‰αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž’αžΆαž…αž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž“αŸ…αž€αŸ’αžšαŸ„αž˜αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž“αž·αž„αžŸαž˜αŸ’αžšαŸαž…αž”αžΆαž“ 450 αž–αžΆαž“αŸ‹αž’αžΆαž“αž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈαŸ”

αž™αžΎαž„αžŸαž„αŸ’αžƒαžΉαž˜αžαžΆαž–αŸαžαŸŒαž˜αžΆαž“αž“αŸαŸ‡αž’αžΆαž…αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αžαžŸαŸŠαžΌαžŠαŸαžšαŸ†αž—αžΎαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αž›αž·αžαž—αžΆαž–αŸ”

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹