á
áœááºážáá±á¬ááºáááºááŒáá·áºáá¬ážááŒááºážááẠáá±áá¬ááŒá®ážááŒá®ážáá¬ážáá¬ážááŒáá·áº áá¯ááºáá±á¬ááºáá¬ááœáẠá¡áááááá¯á¡ááºáá»ááºáá»á¬ážáá²á០áá
áºáá¯ááŒá
áºáááºá Sberbank ááŸá áá±áá¬áááºááŒááºážáá¬áááœááºá áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·á Hadoop-based Data Cloud ááœáẠá¡áá±á¬ááºážá¡áááºá¡á¬ážáá¯á¶ážáá®ážáá«ážááᯠá
á¯ááºáá°ááŒá®áž ááá¯á·ááŒá±á¬áá·áº á¡ááŸááºááááºááŒá®ážáá¬ážáá±á¬ á¡áá»ááºá¡áááºá
á®ážáááºážááŸá¯áá»á¬ážááᯠááá¯ááºááœááºááŒá±ááŸááºážáá«áááºá áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠá
áœááºážáá±á¬ááºáááºááᯠááŒáŸáá·áºáááºááẠáááºážáááºážáá»á¬ážááᯠá¡ááŒá²ááŸá¬ááœá±áá±ááŒá®áž ááᯠáá»áœááºá¯ááºááá¯á·ááẠá
á¬áááºááŒááºážááá¯ááºáᬠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáááááá¬áᬠá¡ááŸáááºááŒáŸáá·áºááá¯ááºáá²á·áá±á¬ááŒá±á¬áá·áº RegionServer HBase ááŸáá·áº HDFS client ááᯠáá¬áá±ážááẠá
á®áá¶áá¯á¶ááᯠááŒá±á¬ááŒááá¯áá«áááºá
ááá¯á·áá±á¬áºá ááá¯ážáááºááŸá¯áá»á¬ážáá¡ááŸá
áºáá¬áááá¯ááááºáá®á áááºááẠHDD áá±á«áºááœááºááá¯ááºáá«ááá°á¡áá¡á¬ážááŒáá·áºááŸá±á¬ááºááœáŸá²ááááá±á¬ááá·áºáááºáá»ááºáá»á¬ážá¡ááŒá±á¬ááºážááŒá±á¬ááá·áºáááºá
HDD ááŸáá·áº áá»áŸááºááŒááºáá±á¬ Random Access áááºááŸá¯ááŒááºážáá»á¬ážááẠá¡áááºááŒá±á¬áá·áº áááá¬ááááŒá
áºááááºážá
áááºááááá·áºá¡ááá¯ááºáž HBase ááŸáá·áº á¡ááŒá¬ážáá±áá¬áá±á·á
áºáá»á¬ážá
áœá¬ááẠáááºááááºážáá®ááá¯ááá¯ááºáá»á¬ážá
áœá¬ááŸááá±á¬ ááá±á¬ááºáá»á¬ážááœáẠá¡áá»ááºá¡áááºáá»á¬ážááᯠááááºážáááºážáá¬ážáááºá áá¯á¶ááŸááºá¡á¬ážááŒáá·áºáááºážááẠ64 KB ááá·áºááŒá
áºáááºá ááᯠáá»áœááºá¯ááºááá¯á·ááẠ100 bytes áá¬áááẠááá¯á¡ááºááŒá®áž á¡áá»áá¯á·áá±á¬áá±á¬á·ááᯠá¡áá¯á¶ážááŒá¯á á€áá±áá¬ááᯠáá±ážáá±á¬ááºááẠHBase ááᯠáá±á¬ááºážááá¯ááá¯ááºááŒáá«á
áá¯á·á HFiles ááœáẠááá±á¬ááºá¡ááœááºá¡á
á¬ážááẠ64 KB ááŒá
áºáá±á¬ááŒá±á¬áá·áº áá±á¬ááºážááá¯áá»ááºááẠááá¯á¡ááºáááºááẠá¡á 640 (áá
áºáááá
áºáá¬) ááá¯ááŒá®ážáááºááŒá
áºáááºá
áá±á¬ááºáá áºáá¯á áá±á¬ááºážááá¯áá»ááºááẠHDFS ááŸáá·áº áááºážá áááºáá¬áá±áᬠááááºážáááºážááŒááºáž ááá¹ááá¬ážááᯠááŒááºáááºážááœá¬ážáááºááŒá áºáááºá ShortCircuitCache (ááá¯ááºáá»á¬ážááá¯ááá¯ááºááá¯ááºáááºáá±á¬ááºááœáá·áºáá±ážáááº)á áááºážááẠáá áºááºá០1 MB ááŸáááŒá®ážáá¬ážááá¯áááºááẠáŠážáááºá á±áááºá ááá¯á·áá±á¬áºá áááºážááᯠparameter ááŒáá·áºáá»áááºááŸáááá¯ááºáááºá dfs.client.read.shortcircuit.buffer.size áá»á¬ážá áœá¬áá±á¬ ááá á¹á áá»á¬ážááœááºá á¥ááá¬á¡á¬ážááŒáá·áº 126 KB ááá¯á· á€áááºááá¯ážááᯠáá»áŸá±á¬á·áá»ááẠá¡áááá¹áá«ááºááŸááááºá
áá®ááá¯áá¯ááºáááºááá¯áá«á áá¯á·á áá«áá±ááá·áº FileChannel.read ááá¯áá»áá¯áž function ááœá±ááá¯áá»áá¯áž java api ááááá·áº áá±áá¬ááœá±ááᯠá áááºáááºááŒá®áž áááºááŸááºáá¬ážáá²á· áá±áá¬ááá¬áááᯠáááºááá¯ááºážááŒá®áž Operating System ááᯠááá¯ááºážá á±áá²á·á¡áá«ááŸá¬áá±á¬á· "just in case" ááá¯ááŒá®áž á á ááá¯áá«áááºá , i.e. 2 KB áá«ááá¯á·ááá á¹á á á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº java ááœáẠá€á¡ááŒá¯á¡áá°ááᯠáá¬ááœááºááẠFADV_RANDOM á¡áá¶ááᯠáááºááŸááºááẠááœááºáá°áá±á¬áááºážáááºážáááŸááá±á¬ááŒá±á¬áá·áºááŒá áºáááºá
ááááºá¡áá±ááŒáá·áº áá»áœááºá¯ááºááá¯á·á 100 bytes ááá¯áááẠhood á¡á±á¬ááºááœáẠá¡á 2600 ááá¯áááºáááºá ááŒá±ááŸááºážáá»ááºá ááŸááºážáá±áá¯á¶ááááºá ááá±á¬ááºá¡ááœááºá¡á á¬ážááᯠáá áºáá®ááá¯ááá¯ááºááá¯á· áá»áŸá±á¬á·áá»ááŒá®áž áá±á¬áºááŒáá¬ážáá±á¬ á¡áá¶ááᯠáááºááŸááºááŒá®áž áá¬ááºá¡áááºážáááŸáááŸá¯ á¡ááŸáááºá¡áá¯ááºááᯠááá°ááŒáá«á áá¯á·á ááá¯á·áá±á¬áº ááŒá¿áá¬ááŸá¬ ááá±á¬ááºá¡ááœááºá¡á á¬ážááᯠ2 ááŒáááºáá»áŸá±á¬á·áá»ááŒááºážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠá¡áá»áááºáá áºáá°áá áºááᯠáááºááá·áº bytes á¡áá±á¡ááœááºááá¯áááºáž 2 á áá»áŸá±á¬á·áá»ááá¯ááºáá±á¬ááŒá±á¬áá·áºááŒá áºáááºá
FADV_RANDOM á¡áá¶ááᯠáááºááŸááºááŒááºážá០á¡áá»áá¯ážáá»á±ážáá°ážá¡áá»áá¯á·ááᯠáááŸáááá¯ááºáá±á¬áºáááºáž ááŒáá·áºáá¬ážáá±á¬ multi-threading ááŸáá·áº ááá±á¬ááºá¡ááœááºá¡á á¬áž 128 KB ááŒáá·áºáᬠáááŸáááá¯ááºááŒá®ážá áááºážááẠáááºááááºážá á¡áá»á¬ážáá¯á¶áž áá¬ááá¯ááºááŸá¯ááºážáá áºáá¯ááŒá áºáááºá
á
ááºážáááºááŸá¯áá»á¬ážááᯠááá¯áẠ100á áá
áºáá¯á
á®ááœáẠ1 GB á¡ááœááºá¡á
á¬ážááŸáááŒá®áž HDD 10 áá¯áá±á«áºááœáẠáááºááŸááááºá
á¡ááŒá±áá¶á¡á¬ážááŒáá·áº á€á¡ááŒááºááŸá¯ááºážááŒáá·áº áá»áœááºá¯ááºááá¯á· áááºááá¯ááºááá»áŸ ááœááºáá»ááºááŒáá«á
áá¯á·á
áá»áœááºá¯ááºááá¯á·ááẠ10 MB/sec ááŒáá·áº á¡ááŒááºááŸá¯ááºáž 280 MB/sec ááŒáá·áº 3 disks ááŸáááºáááºááá¯áá«á
áá¯á·á á¡á 100 bytes 2600 áááºážá áá«áá±ááá·áº ááŸááºááááá±á¬ááºá áá»áœááºáá±á¬áºááá¯á·ááá¯á¡ááºáá²á· data á áááºáá¬ážáá²á·á
á¬ááẠá¡á áááá ááá¯áááºážáá«áááºá áá«ááŒá±á¬áá·áº 3 áááºážááᯠ2600 áá²á· ááœá²ááŒá®áž ááá°ááá¯ááºáá«á áá
áºá
áá¹ááá·áºáá»áŸáẠ1100 á
á¶áá»áááºá
á áááºáá»ááºá áá¬áá² ááá¯ááºáá¬áž? á¡á²áá« ááá¬ááá²á áá»áááºáž Access ááᯠHDD ááœáẠáá±áá¬áááºáá±á¬ááºááœáá·áº - ááá±á¬ááºá¡ááœááºá¡á á¬áž áááœá²ááŒá¬ážáá²á á€áááºááŸá¬ áá»áááºážáááºáá±á¬ááºááœáá·áºá áá¯ááºááá¯ááºážááá¯ááºáá¬ááá·áºáááºáá»ááºááŒá áºááŒá®áž ááá¯áá²á·ááá¯á·áá±á¬á¡ááŒá±á¡áá±áá»á¬ážá¡á±á¬ááºááœáẠáááºááá·áºáá±áá¬áá±á·á áºá០áááºáá¶áááŸá áºáá¯ááºááá¯ááºáá«á
ááá¯á·ááá¯áá»áŸáẠáá±áá¬áá±á·á áºáá»á¬ážááẠááá¯ááá¯ááŒáá·áºáá¬ážáá±á¬á¡ááŒááºááŸá¯ááºážáá»á¬ážááᯠáááºááá¯á·áááŸáááŒááááºážá áá®áá±ážááœááºážááᯠááŒá±ááá¯á·á¡ááœáẠá¡á±á¬ááºáá«áá¯á¶ááŸá¬ áá¬ááœá±ááŒá áºáá±áá²ááá¯áá¬ááᯠááŒáá·áºááá¯ááºáá¡á±á¬ááºá
á€ááœáẠáá»áœááºá¯ááºááá¯á·ááẠááááááá
áºá¡áááºážáááºá¡ááœááºáž á¡ááŒááºááŸá¯ááºážááẠáá
áºá
áá¹ááá·áºáá»áŸáẠá
á¶áá»áááºáá
áºáá±á¬ááºááá·áºááŸááááºááᯠáá»áœááºá¯ááºááá¯á·ááœá±á·ááŒááºááá«áááºá ááá¯á·áá±á¬áºáááºážá áááºáá¶á áá±á¬ááºážááá¯áá¬ážáááºáááºá
á¬áá»áŸáẠááá¯ááá¯áááºááŸá¯ááá¯ááºáá±á¬ááŒá±á¬áá·áºá áá±áá¬áá»á¬ážááẠáááºáááºááŸá¯á
áá
Ạ(linux) á buff/cache ááœááºá¡áá¯á¶ážáááºáᬠá¡ááŒááºááŸá¯ááºážááẠáá
áºá
áá¹ááá·áºáá»áŸáẠ60 ááá¯á· ááá¯ážáá¬áá«áááºá
ááá¯á·ááŒá±á¬áá·áºá OS áááºááŸáºááŸá ááá¯á·ááá¯áẠSSD/NVMe ááá¯ááŸá±á¬ááºááŸá¯áááááá¬áá»á¬ážááœáẠááŸááá±á¬ áá±áá¬áá»á¬ážááá¯áᬠá¡ááŸáááºááŒáŸáá·áºáááºáá±á¬ááºááœáá·áºááᯠáá»áœááºá¯ááºááá¯á· ááá¯ááºááœááºááŒá±ááŸááºážáá«áááºá
áá»áœááºá¯ááºááá¯á·áá¡ááŒá±á¡áá±ááœááºá áá»áœááºá¯ááºááá¯á·ááẠáá¬áᬠ4 áá¯ááá¯á¶áááºážáá±á«áºááœáẠá ááºážáááºááŸá¯áá»á¬ážááŒá¯áá¯ááºáááºááŒá áºááŒá®áž áá áºáá¯áá»ááºážá á®ááᯠá¡á±á¬ááºáá«á¡ááá¯ááºážáá±á¬ááºáá¶áááºááŒá áºáááºá
CPU- Xeon E5-2680 v4 @ 2.40GHz 64 ááá¯ááºážáá»á¬ážá
áááºááá¯áá®: 730 GB á
java áá¬ážááŸááºáž- 1.8.0_111
á€áá±áá¬ááœáẠá¡áááá¡áá»ááºááŸá¬ ááá¬ážáá»á¬ážááœáẠáááºáááºááá¯á¡ááºáá±á¬ áá±áá¬ááá¬áááŒá áºáááºá á¡ááŸááºááŸá¬ á¡áááºá áááºááẠHBase cache ááœáẠáá¯á¶ážáá¯á¶ážáá»á¬ážáá»á¬ážáá»áá¬ážáá±á¬ ááá¬ážáá áºáá¯á០áá±áá¬ááá¯áááºáá«áá áááºážááẠoperating system á buff/cache ááŸáááºáááºááẠááŸááá¬áááºááá¯ááºáá±á á¡ááŒá±á¬ááºážááŸá¬ áá°áááºážá¡á¬ážááŒáá·áº HBase ááẠMemory á 40% ááᯠBlockCache áá¯áá±á«áºáá±á¬ áááºáá±á¬ááºáá¯á¶ááá¯á· ááœá²áá±áá±ážáá±á¬ááŒá±á¬áá·áº ááŒá áºáááºá á¡áááá¡á¬ážááŒáá·áºáááºážááẠConcurrentHashMap ááŒá áºááŒá®ážá áá±á¬á·ááẠááá¯ááºá¡ááẠ+ ááá±á¬ááºáá¡á±á¬á·ááºáááºááŒá áºááŒá®áž áááºááá¯ážááẠá€á¡á±á¬á·ááºáááºááœáẠá¡ááŸááºááááºáá±áá¬ááŒá áºáááºá
ááá¯á·ááŒá±á¬áá·áº á€ááœá²á·á
ááºážáá¯á¶á០áá»áœááºá¯ááºááá¯á·áᬠáááºáá±áá±á¬á¡áá«á
á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·áá¡ááŒá±á¡áá±ááœááºá RS áá áºáá¯ááŸá BlockCache áááá¬áááẠ12 GB ááá·áºááŒá áºáááºá áá»áœááºá¯ááºááá¯á·ááẠRS ááŸá áºáá¯ááᯠnode áá áºáá¯ááœáẠáááºážáááºáá²á·áááºá i.e. 96 GB ááᯠnode á¡á¬ážáá¯á¶ážááœáẠBlockCache á¡ááœááºááœá²áá±áá±ážáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºážááẠááá¬áž 4 áá¯á áá±á 130 áá áºáá¯á á®ááŒá áºáá«á á±á ááá¯ááºá¡ááœááºá¡á á¬áž 800 MBá FAST_DIFF ááŒáá·áº áá»á¯á¶á·áá¬ážáá±á¬ ááá¯ááºá¡ááœááºá¡á á¬ážááŸá¬ 410 MB ááŒá áºáá«á á±á á¥ááá¬á á á¯á á¯áá±á«ááºáž XNUMX GB (áááºážááẠááá·áºá ááºáá±á¬áá±áá¬ááŒá áºáááºá ááá¯ááá¯áááºááŸá¬ áá¯á¶áá°ááœá¬ážááŒááºážá¡áá»ááºááᯠááá·áºááœááºážááŒááºážáááŒá¯áá²)á
ááá¯á·ááŒá±á¬áá·áº BlockCache ááẠá á¯á á¯áá±á«ááºážáá±áá¬ááá¬áá 23% ááá·áºáá¬ááŸáááŒá®áž áááºážááẠBigData áá¯áá±á«áºááá·áº áááá·áºá¡ááŒá±á¡áá±áá»á¬ážááŸáá·áº ááá¯ááá¯áá®ážá ááºáá«áááºá á€áááºááŸá¬ áá»á±á¬áºááœáŸááºááŸá¯á áááºááá·áºáá±áá¬ááŒá áºááẠ- á¡ááŒá±á¬ááºážááŸá¬ áááá¬áááºááŸá¬ážáááºááŸá¬á áááºááŸáºáá»á¬ážáááºáá±á¬ááºááŸá¯áááºážáá±á á áœááºážáá±á¬ááºáááºááá¯ááá¯ážáá±ááŒá áºáááºá áá±á¬ááºáá¯á¶ážá¡áá±áá²á· áááºááœá²áá»á±á¬áºááẠá¡áá¯ááºá¡áá»á¬ážááŒá®ážáá¯ááºááááá·áºááẠ- i.e. áá¯ááºážáá±á«áºááá¯ááŸá¯á áá áºáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááá¯á· áááºážáá«á ááá¯á·áá±á¬áºá áááºážááá¯ááŸá±á¬ááºááœáŸá²ááááá«á ááá¯á·ááŒá±á¬áá·áº áá¯á¶ážáááœá²ááŒá¬ážááŒá¬ážáá¬ážáá±á¬ááŸá¯áá±á¬áá·áºááá¯ááŒáá·áºááŒáá«á áá¯á· - áááºááŸáºá¡ááœááºážááŸááá±áá¬á áá¬ááŒá áºááœá¬ážááá²á
á¡ááŒá±á¡áá±ááᯠááá¯ážááŸááºážá á±ááŒá®áž áá»áœááºá¯ááºááá¯á·ááœáẠá¡áá¬ááá¹áᯠ1 áá¯ááŸáá·áºáᬠááá¯ááºáá®áá±á¬ áááºááŸáºáá áºáá¯ááŸááááºáᯠáá°áááŒáá«á áá¯á·á á€áááºááŸá¬ áááºááŸáºááẠ3 áááá¯ááŒá®ážáá±á¬ data volume ááŒáá·áº á¡áá¯ááºáá¯ááºáá±á¬á¡áá« áá¬ááŒá áºáááºááᯠá¥ááá¬áá áºáá¯á¡áá±ááŸáá·áº áá»áœááºá¯ááºááá¯á· áá¯ááºáá±á¬ááºááá«áááº-
1. block 1 ááᯠcache ááœááºááá·áºáá«á
2. block 1 ááᯠcache á០áááºááŸá¬ážáá«á
3. block 2 ááᯠcache ááœááºááá·áºáá«á
4. block 2 ááᯠcache á០áááºááŸá¬ážáá«á
5. block 3 ááᯠcache ááœááºááá·áºáá«á
áá¯ááºáá±á¬ááºáá»áẠá áᯠááŒá®ážáá«ááŒá®á ááá¯á·áá±á¬áºá á€á¡ááŒá±á¡áá±ááᯠáá¯á¶ááŸááºáá¯áá±á«áºááá¯ááááá«á ááááºáá±á¬á·á áá»áœááºá¯ááºááá¯á·ááẠáá¯á¶ážáá¡áá¯á¶ážááááºáá±á¬ á¡áá¯ááºáá»á¬ážá áœá¬ááᯠHBase á០á¡áááºážá¡ááŒááºáá¯ááºááá¯ááºážáá±áá«áááºá áááºážááẠOS cache ááŸáá±áá¬áá»á¬ážááá¯á¡áááºáááŒááºáááºááŸá¯ááŒá®áž BlockCache ááœááºáá¬ážáááºá áá±áá¬á¡ááá¯ááºážá¡áá áºáá±á¬ááºááŸááá¬áá±á¬ááŒá±á¬áá·áºáááºážááá¯áá»ááºáá»ááºážáá¯ááºáá áºáááºáá¬ááŒá áºáááºá ááá¯á·á áºáá¡á ááœáẠáá¬ááœááºážáá¯ááºááŸááºááẠááŒá¿áá¬áá¡ááŸá áºáá¬áááᯠááŒáááẠ- á¡ááŸáá¯ááºáá±á¬ááºáá°ááẠá¡ááá¯ááºážá¡áá¬áá áºáá¯á¡áá áá»ááœá¬ážáááºá áá±áá¯ááẠáá°áá¬áááºá á¡áá±ážááŒá®ážááŸáá·áº áá°ááŒááºážáá±á¬ ááœá®áááºááŸá Greta áá±ážááẠá áááºááá¯ážáá¬áááºá ááŒá®ážáá±á¬á· ááá±ážááœá± áááºážáááºážáá²á·á¡áá« IT á áá°ááœá±á á¡á²áá«ááᯠááááºáááŒáá¯ááºáá²á·á¡ááœáẠá¡á²áá«áá²á· áááºáááºááŒá®áž áá»áœááºáá±á¬áºááá¯á· áá¬áá¯ááºááá¯ááºááá²ááá¯áá¬ááᯠá ááŒá®áž á ááºážá á¬ážáááºá
áááºááŸáºááœáẠááá±á¬ááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠáááá·áºáá² áááºááŸáºáááŒáá·áºá á±ááẠáááºážááá¯á·á¡áááºá០á¡áá»áá¯á·áá±á¬ áá¬ááá¯ááºááŸá¯ááºážááá¯áᬠááá·áºáá«á áá¬ááŒá áºáááºáááºážá BlockCache áá²ááá¯á·áá±áá¬ááá·áºáááºá¡ááœáẠfunction áá¡á ááœááºáá¯ááºááá¯ááºážá¡áááºážáááºáá»áŸáá¬ááá·áºááŒááºážááŒáá·áºá áááºááŒáá«á áá¯á·á
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 ááᯠáááºááŸááºááŒá®áž áá¬ááœá±ááŒá áºááá²ááá¯áᬠááŒáá·áºáá«á
ááááºá áááá¬áá«áááºá á¡á±á¬ááºáá±á¬áºááŒáá« ááááºáá»á¬ážááœááºá á€áá²á·ááá¯á· á¡ááŸáááºá¡áá¯áẠááŒá
áºáá±á«áºáá¬áááŒááºážááŸá¬ ááŸááºážááŸááºážáááºážáááºáž ááŒá
áºáá¬ááẠ- áá»áœááºá¯ááºááá¯á·ááẠáááºááŸáºááœáẠáá±áá¬áá»áá¬ážááŒááºážááá¯ááºáᬠSisyphean á¡áá¯ááºááᯠááá¯ááºáá² GC áááºážááŒá
áºáá»á¬ážá
áœá¬ááᯠááááºážáááºážáááº-
áá
áºáá»áááºáááºážááŸá¬ááẠCPU á¡áá¯á¶ážáá»ááŸá¯ ááá¯ážáá¬áá±á¬áºáááºáž áá¯ááºáá¯ááºá
áœááºážá¡á¬ážááẠáá»á¬ážá
áœá¬ áá»á±á¬á·áááºážáááº-
BlockCache ááœáẠááááºážáááºážáá¬ážáá±á¬ ááá±á¬ááºáá»á¬ážááẠááá°áá®ááŒá±á¬ááºážááá¯áááºáž áááááŒá¯ááá·áºáááºá á¡áá»á¬ážá
á¯ááŸá¬ áá
% ááẠáá±áá¬ááá¯ááºááá¯ááºááŒá
áºáááºá áá»ááºááẠBloom á
á
áºáá¯ááºááŸá¯áá»á¬áž ááá¯á·ááá¯áẠLEAF_INDEX ááŸáá·áº áá²á·ááá¯á·áá±á¬ áááºáá¬áá±áá¬ááŒá
áºáááºá
ááá¯á·ááŒá±á¬áá·áºá áá¯ááºááœááºá á áºáá±ážááá·áºá¡ááŒá±á¡áá±áá áºáá¯ááœá±á·áááºá buf.getBlockType().isData() á€áááºáá¬ááá»á±ážáá°ážááŒá±á¬áá·áºá áááºááá¯á·áááºááŒá áºá á± áááºááŸáºááœáẠáá¬ážáá²á·áá«áááºá
ááᯠáááºááᯠááá¯ážááŒáŸáá·áºááŒá®áž á¡ááºá¹áá«áááºááᯠáá áºáá»ááºáááºáž áááºážáá»ááºááá¯ááºááŒáá«á áá¯á·á áááá ááºážáááºááŸá¯ááœááºáá»áœááºá¯ááºááá¯á·áááºááŒááºáá±á¬ááºááŸá¯áá¬ááá¯ááºááŸá¯ááºáž = 20 ááá¯ááŒá¯áá¯ááºáá²á·ááŒá®áž BlockCache ááá¯á¡áááºážáááºá¡áá¯á¶ážáá»áá²á·áááºá á¡áᯠ23% ááŸá¬ áááºááŸááºááŒá®áž 100 threads ááᯠ5 áááá áºááá¯ááºáž áá±á«ááºážááá·áºááá¯ááºááŒáá¡á±á¬ááºá
á€áá±áá¬ááœáẠáá°áááºážáá¬ážááŸááºážááẠáá
áºá
áá¹ááá·áºáá»áŸáẠáá±á¬ááºážááá¯áá»áẠ100 ááá·áºááŒáá·áº áá»ááºááŸá¬áá»ááºááá¯á· áá»ááºáá»ááºážáá±á¬ááºáá¯áá®ážáá«ážááŒá
áºáááºááᯠá€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááœá±á·ááŒááºááá«áááºá patch ááᯠ300 á¡áá á¡ááŸáááºáá±ážáááºá áá
áºáá»áááºáááºážááŸá¬áááºá áá±á¬ááºáááºá¡ááŸáááºááŒáŸáá·áºááŸá¯ááẠ"á¡ááá²á·" ááá¯ááºáá±á¬á·ááŒá±á¬ááºáž ááŸááºážááŸááºážáááºážáááºážáááááŒá®áž CPU á¡áá¯á¶ážáá»ááŸá¯ááŸá¬áááºáž ááá¯ážáá¬áááºá
ááá¯á·áá±á¬áºá á€áááºááŸá¬ á¡ááœááºááŒá±ááŒá áºáá±á¬ ááŒá±ááŸááºážáá»ááºááá¯ááºáá«á ááá±á¬ááºáá»á¬ážá áá¬ááá¯ááºááŸá¯ááºážááᯠáááºááŸáºáá¯ááºááẠááá¯á¡ááºáááºááá¯áááºáž áá»áœááºá¯ááºááá¯á· ááŒáá¯áááºááááá±á¬ááŒá±á¬áá·áºá áááºážááẠáááºáááá¯ááá¯ááºáá±á«áºááœáẠáá°áááºáá«áááºá ááá¯á·ááŒá±á¬áá·áºá á á¬áááºááŒááºážááá¯ááºáᬠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá¡áá±á«áº áá°áááºá á€áááºááŸááºáá»ááºááᯠá¡ááá¯á¡áá»á±á¬ááºáá»áááºááŸáááẠááá¹ááá¬ážáá áºáá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá
áááºážááá¯ááááºážáá»á¯ááºááẠááœá±ážáá»ááºá áá¬áá¯á¶ážáá¯ááᯠááá·áºááœááºážáá¬ážáááºá
hbase.lru.cache.heavy.eviction.count.limit â áá»áœááºá¯ááºááá¯á· ááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºááŒá¯áá¯ááºááŒááºážááᯠáá áááºáá® áááºááŸáºá០áá±áá¬áá»á¬ážááᯠáááºááŸá¬ážááŒááºáž áá¯ááºáááºážá ááºááᯠáááºáá»áŸááŒá¬á¡á±á¬áẠáá¯ááºáá±á¬ááºááá·áºááẠ(ááá¯ááá¯áááºááŸá¬ ááááºááá¯á·ááŒááºážáá»á¬ážááᯠáá»á±á¬áºááœá¬ážááŒááºáž) ááᯠáááºááŸááºáááºá áá¯á¶áá±á¡á¬ážááŒáá·áº áááºážááẠMAX_INT = 2147483647 ááŸáá·áº áá®áá»áŸááŒá®áž ááááºáá±á¬á· á¡ááºá¹áá«áááºááẠá€áááºááá¯ážááŸáá·áº áááºááá·áºá¡áá«áá»áŸ á¡áá¯ááºááá¯ááºáá±á¬á·ááŒá±á¬ááºáž ááá¯ááá¯áááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº ááŸááºáá¯ááºááŒááºážáá¯ááºáááºážá ááºááẠ5 - 10 á áá¹ááá·áºááá¯ááºáž (áááºáá±á«áº áá°áááºáááº) ááŸáá·áº 2147483647 * 10/60/60/24/365 = 680 ááŸá áºááŒá áºáááºá ááá¯á·áá±á¬áºá áá»áœááºá¯ááºááá¯á·ááẠá€ááá·áºáááºáá»ááºá¡á¬áž 0 ááá¯á· áááºááŸááºááá¯ááºááŒá®áž áá¯ááºáá±á¬ááºáá»ááºááᯠá áááºááŒá®ážáá±á¬áẠáá»ááºáá»ááºážáá¯ááºáá±á¬ááºááá¯ááºáááºá
ááá¯á·áá±á¬áºá á€áááºááŸááºáá»ááºááœáẠpayload áá áºáá¯áááºážááŸááááºá á¡áááºá áá»áœááºá¯ááºááá¯á·á áááºááẠáá±ááá¯áááºááŒááºáž (áá±á·á ááºááŒá±á¬) ááŸáá·áº áá±ááŸááºáááºááŒááºáž (ááááº) ááá¯á·ááᯠá¡áááºáááŒáẠááŒááºáá±á¬ááºáá±áá«áá ááŸááºáá»á¬ážáá±á¬á á¬áááºááŒááºážáá¯ááºáá±á¬ááºááŸá¯áá»á¬áž áá¯ááºáá±á¬ááºáá±ááŸáᬠá¡ááºá¹áá«áááºááᯠááœáá·áºáá¬ážááŒá±á¬ááºáž áá±áá»á¬á á±ááá¯ááºáá«áááºá
á¥ááá¬á¡á¬ážááŒáá·áºá áá±ááá¯áááºááŒááºážááẠáá»á¬ážáá±á¬á¡á¬ážááŒáá·áº á áááá áºááá·áº ááŒá¬ááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á·áááááºá áá¯á¶ážáá»á¬ážááᯠá áááºáá áºááẠáááá¯á¡ááºáá«á áááºááŸáºááẠáá±ááºáá±á¬ááºáá»áá±ááẠá¡áá»áááºáááŸááá«áá²á ááá¯á·áá±á¬áẠáá»áœááºá¯ááºááá¯á·ááẠá€áááºááŸááºáá»ááºááᯠá¥ááá¬á 1 ááŸáá·áº áá®á¡á±á¬áẠáááºááŸááºááá¯ááºáááºá áááºážááẠááŒá¬ááŒáá·áºáá»áááºááœááºáᬠáá±á¬ááºážááœááºá¡á±á¬áẠáá¯ááºáá±á¬ááºááá¯ááºáááá·áºáááºáá°áá±á¬ á¡áá»ááºááᯠááŒá áºáá±á«áºá á±áááá·áºáááºá á¡áá±á«áºá¡áá±á«áº active reading á áááºáá±ááŒá®á ááá¯ááá¯áááºááŸá¬á 10 á áá¹ááá·áºá¡ááœááºážá ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááœáẠáá¬áááá¯áááºááŸá¯áá«áá ááá±á¬ááºáá»á¬ážá¡á¬ážáá¯á¶ážááẠáááºááŸáºáá²ááá¯á· áá±á¬ááºááœá¬ážáááºááŒá áºááŒá®áž áááŸáááá¯ááºáááá·áºááẠ(á ᶠalgorithm á០ááŸááºáá¯ááºáá¶áááá·áºáá°áá»á¬ážá¡ááœáẠááŸááœá²á)á áá»áœááºá¯ááºááá¯á·ááẠáá±ááŸááºáááºááŸá¯ááá·áºá¡áá«á áá¯ááºáá±á¬ááºáá»ááºááᯠááœáá·áºáá¬ážááŒá®áž áá»áœááºá¯ááºááá¯á·ááẠááá¯ááá¯ááŒáá·áºáá¬ážáá±á¬ á áœááºážáá±á¬ááºáááºááᯠáááŸááááºááŒá áºáááºá
hbase.lru.cache.heavy.eviction.mb.size.limit â 10 á áá¹ááá·áºá¡ááœááºáž áááºááŸáºááœáẠáá»áœááºá¯ááºááá¯á·áá¬ážááá¯áá±á¬ áá®áá«ááá¯ááºáááºáá»áŸááŸááááºááᯠáááºááŸááºáá±ážáááºá á¡ááºá¹áá«áááºááẠá€áááºááá¯ážááá¯áá±á¬ááºááŸááááºááŸáá·áº áááºážááá¯ááááºážááááºážááẠááŒáá¯ážá á¬ážáááºááŒá áºáááºá á¡áááá¡áá»ááºááŸá¬á áá»áœááºá¯ááºááá¯á·ááẠáá áºáá«ááá¯ááºáá»á¬ážááᯠáááºááŸáºáá²ááá¯á· ááœááºážáá»áá«áá áá»áœááºá¯ááºááá¯á·ááẠáá áºáá«ááá¯ááºáá»á¬ážááᯠáááºááŸá¬ážááááºááŒá áºááŒá®ážá áááºážááẠá¡áááºááœááºááŒááºáááá·áºá¡ááá¯ááºáž á¡ááœááºá á»á±ážááŒá®ážáá«áááºá ááá¯á·áá±á¬áºá áááºážááᯠáá±ážáááºááœááºážá¡á±á¬áẠáááºááŸááºááẠáááŒáá¯ážá á¬ážááá·áºáá«á á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº áááºážááẠblock skip mode ááᯠá¡áá»áááºáááá¯ááºáá® ááœááºááœá¬ážá á±áááºááŒá áºáááºá á¡á¬ážáá±á¬ááºážáá±á¬áá¬áá¬áá»á¬áž (20-40 áá¯ááºááá¯ááºážááá¯ááºáᬠcores áá»á¬áž) á¡ááœáẠ300-400 MB ááá·áºáá¬ážááẠá¡áá±á¬ááºážáá¯á¶ážááŒá áºáááºá áá°áááºáááºážá á¬ážáá»á¬ážá¡ááœáẠ(~10 Cores) 200-300 MBá á¡á¬ážáááºážáá±á¬á áá áºáá»á¬ážá¡ááœáẠ(2-5 cores) 50-100 MB ááẠáá¯á¶ááŸááºááŒá áºááá¯ááºááẠ(á€á¡áá¬áá»á¬ážááœáẠáá ááºážáááºááá±ážáá«)á
áá«á áááºááá¯á¡áá¯ááºáá¯ááºáá²ááá¯áá¬ááᯠááŒáá·áºáá¡á±á¬ááº- hbase.lru.cache.heavy.eviction.mb.size.limit = 500 ááá¯áááºááŸááºáá¬ážáááºá load áá áºáá»áá¯ážáá»áá¯ážááŸáááẠ(reading) ááŒá®ážáá±á¬á· ~ 10 á áá¹ááá·áºááá¯ááºáž áááºááŸá áºááá¯ááºáá²ááá¯áᬠááœááºááŒáá·áºáá¡á±á¬ááºá áá±á¬áºááŒá°áá¬ááᯠá¡áá¯á¶ážááŒá¯á ááŸááºáá¯ááºááŒááºáž
Overhead = 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 - ááááºááᯠáááºáá»áŸááŒááºááŒááºáááá¯áááºááᯠáááºááŸááºáá±ážáááºá áá»áœááºá¯ááºááá¯á·áá á¬áááºááŸá¯á¡áá»á¬ážá á¯ááẠááŸááºáá»á¬ážááŒá®áž áá á±á¬áá·áºáá»ááºááŒááŒá±á¬ááºážáá±áá»á¬áá«áá áá»áœááºá¯ááºááá¯á·ááẠá€á¡áá»áá¯ážááᯠááá¯ážááŒáŸáá·áºááá¯ááºááŒá®áž á áœááºážáá±á¬ááºáááºááá¯ááá¯ááŒááºáááºá áœá¬ áááŸáááá¯ááºáá«áááºá
á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠဠcoefficient = 0.01 ááᯠáááºááŸááºáááºá ááá¯ááá¯áááºááŸá¬ Overhead (á¡áááºááœááºááŒáá·áºáá«) ááááºááááºááŒáá·áº á€áá¶áá«ááºááŒáá·áº ááŒáŸá±á¬ááºáááºááŒá áºááŒá®áž áááºááŸáºáá¯ááºááœááºáá»á¬ážá áá¬ááá¯ááºááŸá¯ááºážááᯠáá»áŸá±á¬á·áá»ááœá¬ážáááºááŒá áºáááºá Overhead = 300% ááŸáá·áº coefficient = 0.01 áᯠáá°áááŒáá«á áá¯á·á ááá¯á·áá±á¬áẠáááºááŸáºáá¯ááºááœááºáá»á¬ážá áá¬ááá¯ááºááŸá¯ááºážááᯠ3% áá»áŸá±á¬á·áá»áááºááŒá áºáááºá
á¡áá¬ážáá° "Backpressure" áá¯áá¹áááá±áááá¯áááºáž á¡áá¯ááºááá¹ááᬠOverhead (overshooting) áááºááá¯ážáá»á¬ážá¡ááœááºáááºáž áá¯ááºáá±á¬ááºáá«áááºá áááºááŸá¯ááŒááºážááŸáá·áº ááŸááºáá¯ááºááŒááºáž ááá¬áá áá±ááá¯á¡áááºá¡áá»áá»á¬ážááẠá¡ááŒá²áááºáž ááŒá áºááá¯ááºáá±á¬ááŒá±á¬áá·áºá á€ááá¹ááá¬ážááẠááá·áºá¡á¬áž ááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºááŒá¯áá¯ááºááŒááºážáá¯ááºá០á¡áá»áááºááááºáá® ááœááºáá±á«ááºááᯠááŸá±á¬ááºááŸá¬ážááá¯ááºá á±áá«áááºá Backpressure ááœáẠááŒá±á¬ááºážááŒááºáá»á áºáá áºáá¯áá«ááŸááááº- ááŒááºážáááºáá±áá± á¡ááŸáááºááœááºáá±áá±á ááá±á¬ááºáá»á¬ážááᯠááááºážáááºážáá¬ážáá±áá±ááŒá áºáááºá
á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯áá¯ááº
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;
}
áááá·áºá¥ááá¬ááá¯áá¯á¶ážááŒá®áž áá®á¡áá¬á¡á¬ážáá¯á¶ážááᯠááŒáá·áºááá¯ááºáá¡á±á¬ááºá áá»áœááºá¯ááºááá¯á·ááœáẠá¡á±á¬ááºáá«á ááºážááẠscript ááŸááááºá
- á áááºáááºááŒáá·áºáá¡á±á¬áẠ(25 threadsá batch = 100)
- 5 áááá áºá¡ááŒá¬ááœáẠMulti-gets áá±á«ááºážááá·áºáá« (25 threadsá batch = 100)
- 5 áááá áºá¡ááŒá¬ááœáẠmulti-gets ááá¯ááááºáá« (á áááºááºáááºáááºáá¬áá»ááºáááº)
áá»áœááºá¯ááºááá¯á·ááẠáááá¡ááŒááẠhbase.lru.cache.heavy.eviction.count.limit = 10000 (á¡ááºá¹áá«áááºááᯠá¡ááŸááºáááẠááááºáá¬ážáááº)á ááá¯á·áá±á¬áẠááá·áºáááºáá»áẠ= 0 áááºááŸááºááŒá®áž (áááºážááᯠáá¯ááºáá±á¬ááºááá¯ááºáááº)á
á¡á±á¬ááºáá«ááŸááºáááºážáá»á¬ážááœáẠáá»áœááºá¯ááºááá¯á·ááẠá¡ááºá¹áá«áááºááᯠáááºááá¯á·ááœáá·áºáá¬ážáááºááᯠááœá±á·áááŒá®áž Overshooting ááᯠ14-71% ááá¯á· ááŒááºáááºáááºááŸááºáááºá Backpressure ááá¯ááœáá·áºááŒá®áž HBase cache ááẠá¡áá«á¡á¬ážáá»á±á¬áºá áœá¬ load áá»á±á¬á·áááºážááœá¬ážáááºá áááºážááẠblocks áá»á¬ážááᯠáááºáá¶á ááááºážáááºážáá«áááºá
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
á áááºáááºááŒááºážáá»á¬ážááẠáááºááŸáºááá¹áááŸá áºáá¯ááŒá¬ážááŸá áááºááœááºááŸá¯áááááºáá¯á¶á á¶ááŒá áºááá·áº áá°áá®áá±á¬áá¯ááºáááºážá ááºááᯠááŒáááẠááá¯á¡ááºááẠ- áá áºáá¯áááºáž (áá áºáá«áá»áŸááá±á¬ááºážááá¯áá°ážáá±á¬ ááá±á¬á·áá»á¬áž) ááŸáá·áº áá»á¬ážá áœá¬ (á€áá±áá¬ááœáẠá¡áááºážáá¯á¶ážáá áºááŒááẠ"áá±á¬ááºážááá¯áá¬ážáááº" áá±áá¬ááᯠááááºážáááºážáá¬ážáááº)á
áá±á¬ááºáá¯á¶ážá¡áá±áá²á·á parameters ááœá±áá²á· áá¯ááºáá±á¬ááºáá»ááºá ááááºáá¯á¶á
á¶áá²á· áááºááá¯áá¯á¶áá²á ááŸáá¯ááºážááŸááºáááºá¡ááœááºá áááºááŸáºááẠá¡á
ááá¯ááºážááœáẠáá¯á¶ážáááááºááœá¬ážáááºá ááá¯á·áá±á¬áẠHBase ááᯠáááºááŸáºááŒáá·áº á
áááºáá²á·ááŒá®áž áá±á¬ááºážááœááºá¡á±á¬ááºáá¯ááºáá±á¬ááºááŒááºážáá¯ááºáááºážá
áááºááŸá¯ááᯠ5 áááá
Ạ(30 ááŒáááºááá·áº) ááŸá±á¬áá·áºááŸá±ážá
á±áá²á·áááºá
áá¯ááºá¡ááŒáá·áºá¡á
á¯á¶ááᯠPull Request ááœáẠááœá±á·ááá¯ááºáá«áááºá
ááá¯á·áá±á¬áºá áá áºá áá¹ááá·áºáá»áŸáẠ300 reads ááẠá€á¡ááŒá±á¡áá±áá»á¬ážá¡á±á¬ááºááœáẠဠhardware ááœáẠá¡á±á¬ááºááŒááºááá¯ááºááá»áŸ ááá¯ááºáá«á á¡ááŸááºááŸá¬ HDFS ááŸáá áºááá·áº áá±áá¬ááᯠáááºáááºáá±á¬ááºááá¯ááá·áºá¡áá«ááœááºá ááœááºááẠá¡ááŒááºá¡ááŸááºáááºááœááºááŸá¯áá»á¬ážááᯠááŸá±á¬ááºááŸá¬ážááẠáá±áá¬ááᯠááá¯ááºááá¯ááºáááºáá±á¬ááºááŒáá·áºááŸá¯ááá¯ááºá á±ááá·áº ShortCircuitCache (áá±á¬áẠSSC áᯠáá±á«áºááá¯áááº) ááá¹ááá¬ážááᯠá¡áá¯á¶ážááŒá¯áá¬ážáááºá
á€ááá¹ááá¬ážááẠááŒá®ážáá¬ážáá±á¬á¡ááŒááºá¡á áœááºážááá¯áá±ážáá±á¬áºáááºážá áá áºáá»áááºáá»áááºááœáẠááááºááá¯á·ááŸá¯áá áºáá¯ááŒá áºáá¬áááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº áá±ážáá¶áá±á¬áá¯ááºáá±á¬ááºááŸá¯á¡á¬ážáá¯á¶ážáá®ážáá«ážááẠáá±á¬á·áá áºáá¯á¡ááœááºážááœáẠááŒá áºáá±á«áºááŒá®áž á¡áá»áááºá¡áá»á¬ážá á¯ááᯠááááºááá¯á·ááœá¬ážá á±áááºá
áá«ááᯠááá±á¬áá±á«ááºááŒá®ážá ááœááºáááºáá²á· 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)];
}
ááá¯áááºá áááºá ááºážáááºááá¯ááºáááºá áá«ááá¯áá¯ááºááá¯á·á ááá¯ážááŸááºážáá²á· multi-threaded application ááŒáá·áº 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 ááá¯ážáá¬ááŒááºážááŸáá·áº áááºá ááºáá±ááá·áº á¡ááŸáááºááᯠááŒááááºá
ááááºááá¯áááºáááºáž- 100 á¡ááœáẠáááºááŸáºáá
áºáá¯áá«áá±á¬ 64 KB áá¯á¶ážáá»á¬ážááœáẠáááºáááºá¡áá»áááºááẠ78 á
áá¹ááá·áºááá¯á¡ááºáááºá 5 áááºááŸáºááŸáá·áºá¡áá°áááºážááẠ16 á
áá¹ááá·áºááŒá¬áááºá á¡á²áá«ááœá±á á¡ááŸááẠ~ 5 á ááŸááá«áááºá ááááºááŸááœá±á·ááŒááºááá¯ááºáááºá¡ááá¯ááºážá á¡ááŒáá¯ááºáááºááá·áºá¡áá±á¡ááœááºá¡áááºážáááºá¡ááœááºá¡áá»áá¯ážáááºáá±á¬ááºááŸá¯áááºá¡ááœááºáááá¬áááºááŸá¬ážááŒááºážáááŸááá«á á
á¬ááœá² 50 áá»á±á¬áºááá¯áááºáá±á¬á¡áá«ááœááºáááá¬áááºááŸá¬ážáá±á¬á¡áááºážááá¹áááŸá
áááºáááºá SSCs á¡áá±á¡ááœááºááᯠ6 ááŸááá¯ážáá¬áááºááá¯áááºážáááá¬áááºá ááŸáá·áº á¡áááºááœáẠáááááá¬áᬠáá±ážáááºáá±á¬ á
áœááºážáá±á¬ááºáááºááᯠááá¯ážááŒáŸáá·áºáá±ážáááºá
ááŸááºáá»áẠ1- á ááºážáááºááŸá¯ááááºáá»á¬ážááẠáááŒáááºááááºááŒá áºáá±áá±á¬ááŒá±á¬áá·áº (á¡á±á¬ááºááœááºááŒáá·áºáá«)á 3 ááŒáááºáá¯ááºáá±á¬ááºáá²á·ááŒá®áž ááááºáááºááá¯ážáá»á¬ážááᯠáá»ááºážáá»áŸááœááºáá»ááºáá²á·áááºá
ááŸááºáá»áẠ2- áááºáá±á¬ááºá¡áá¯á¶ážááŒá¯ááŸá¯ááá¯ááºááá¯ááºá á¡áááºážáááºááŸá±ážááœá±ážáá±á¬áºáááºáž áá»áááºážá¡áá¯á¶ážááŒá¯ááŸá¯ááᯠááŒááºáááºáááºááŸááºááŒááºážá០á áœááºážáá±á¬ááºáááºáááŸáááŸá¯ááẠá¡áá°áá°áááºááŒá áºáá«áááºá
ááá¯á·áá±á¬áºá HBase ááŸáá·áºááá°áá²á á€á¡ááŸáááºááẠá¡ááŒá²áááºážá¡ááá²á·ááá¯ááºááŒá±á¬ááºáž ááŸááºážáááºážááẠááá¯á¡ááºáá«áááºá á€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááẠáá±á¬á·áááºáá¬ážááá·áºá¡á á¬áž CPU ááá¯ááºáá±á¬ááºááá¯ááºá áœááºážááᯠâáá±á¬á·ááœáá·áºááŒááºážâ ááᯠáá¯ááºáá±á¬ááºáá±ážáá«áááºá
á€áá±áá¬ááœááºá áá±áá°áá»á¡á¬ážááŒáá·áºá áááºááŸáºá¡áá±á¡ááœáẠááá¯ážáá¬ááŒááºážááẠCPU á¡áá¯á¶ážááŒá¯ááŸá¯ááœáẠááá·áºááŸááºážááŒá±á¡á¬ážááŒáá·áº á¡áá»áá¯ážáá» ááá¯ážáá¬ááŒá±á¬ááºáž áááááŒá¯ááá¯ááºáááºá ááá¯á·áá±á¬áºá á¡áááºážáááºááá¯á¡ááá¯ááºááá±á¬áá±á«ááºážá
ááºááŸá¯áá»á¬ážááŸááááºá
á¥ááá¬á áááºááẠSSC = 3 ááᯠá¡áá®ážáááºááŒáá·áºááŒáá«á áá¯á·á á¡ááœá¬á¡áá±ážááŸá á áœááºážáá±á¬ááºááẠááá¯ážáá¬ááŸá¯ááẠ3.3 áááá·áºááŒá áºáááºá á¡á±á¬ááºáá±á¬áºááŒáá« ááááºáá»á¬ážááẠáá®ážááŒá¬ážááŒá±ážááœá² áá¯á¶ážáá¯á áá¯á¶ážá០ááááºáá»á¬ážááŒá áºáááºá
CPU áá¯á¶ážá
áœá²ááŸá¯ááẠá.á áááá·áº ááá¯ážáá¬áá±á¬áºáááºážá ááœá¬ááŒá¬ážáá»ááºá ááááºáááŒá®ážáá±ááá·áº Greta áá±ážáᬠáá»á±á¬áºááœáŸááºáá±ááŒá®áž áá»á±á¬ááºážáááºááŒá®áž áááºáááºážá
á¬áá°ááá¯á· á¡áá»áááºáááá¯ááºáá«áááºá
ááá¯á·ááŒá±á¬áá·áºá á¡ááá®áá±ážááŸááºážáá¯ááºááẠáá±á«á·áá«ážááẠ(ááá¯ááá¯áááºááŸá¬ ááááºááẠHDFS client áááºááœááº) ááŸáááŒá®áž á¡ááá²á· CPU áá«áá«áá«ááŸááá±á¬ááŒá±á¬áá·áº HDFS ááá¯á· á¡á á¯ááá¯ááºáááºáá±á¬ááºááœáá·áº (á¥ááᬠSpark á áááºááá¯á·) ááá¯á¡áá¯á¶ážááŒá¯ááá·áº áááºááá·áºáááááá¬á¡ááœááºáááᯠáááºážááẠá¡ááŒá¯ááá±á¬áá±á¬ááºáá±á¬ á¡áá»áá¯ážáááºáá±á¬ááºááŸá¯ááŸááááá·áºááẠ. á á áºáá±ážáááºá BlockCache optimization ááŸáá·áº HBase ááŸáááºááŸá¯ááŒááºážá¡ááœáẠSSC áá»áááºááŸáááŒááºážáá±á«ááºážá ááºá¡áá¯á¶ážááŒá¯ááŸá¯ááœáẠáááºááá·áºá¡áá»áá¯ážáááºáá±á¬ááºááŸá¯ááᯠá ááºážáááºááŒáá·áºááŒáá«á áá¯á·á
ááá¯ááá¯á·áá±á¬á¡ááŒá±á¡áá±áá»á¬ážá¡á±á¬ááºááœáẠááá·áºá
ááºáá¬ážáá±á¬á
ááºážáááºááŸá¯áá»á¬ážáá²á·ááá¯á· á¡áá»áá¯ážáááºáá±á¬ááºááŸá¯ááẠááŒá®ážááŒá®ážáá¬ážáá¬ážááá¯ááºááŒá±á¬ááºáž (áááºááá·áºáá¯ááºáá±á¬ááºááŸá¯ááŸááá«áá²áááºááŸá¯ááŒááºáž)á ááá¯á·áá±á¬áº á€áá±áá¬ááœáẠáá±á¬ááºááẠ80K ááᯠááŸá
áºáá¯ááºááẠá¡áá±á¬áºáá±ážááŒá
áºááá¯ááºáá»á±ááŸááááºá ááŸá
áºáá¯á
áá¯á¶ážááẠááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºáá¯ááºáá±á¬ááºááŸá¯ááŸá
áºáá¯áá¯á¶ážááẠ4x speedup á¡áááá±ážá
áœááºážáááºá
á€á¡áá±á¬ááºážáá¯á¶ážááŒá
áºá¡á±á¬áẠPR ááá¯áááºáž ááŒá¯áá¯ááºáá¬ážáá«áááºá
áá±á¬ááºáá¯á¶ážá¡áá±ááŸáá·áºá á¡áá¬ážáá°áá»ááºááŒáá·áºáá±á¬áá±á¬áºáá¶áá±áá¬áá±á·á áºá Cassandra ááŸáá·áº HBase ááááºááŸá¯ááŒááºážá áœááºážáá±á¬ááºáááºááᯠááŸáá¯ááºážááŸááºááẠá áááºáááºá á¬ážá áá¬áá±á¬ááºážáá«áááºá
áááºážááá¯áá¯ááºáá±á¬ááºáááºá¡ááœááºá áá»áœááºá¯ááºááá¯á·ááẠhost ááŸá áºáá¯á០standard YCSB load testing utility áá¥ááá¬áá»á¬áž (á á¯á á¯áá±á«ááºáž 800 threads) ááá¯á áááºáá±á¬ááºááœááºáá²á·áá«áááºá áá¬áá¬áááºááœáẠ- host 4 áá¯ááŸá RegionServer ááŸáá·áº Cassandra áá¥ááᬠ4 áᯠ( clients áá»á¬ážáááºáááºáá±ááá·áºá¡áá¬áá»á¬ážááá¯ááºáá«á áááºážááá¯á·áááœáŸááºážááá¯ážááŸá¯ááá¯ááŸá±á¬ááºááŸá¬ážáááº) á á¡ááœááºá¡á á¬áž ááá¬ážáá»á¬ážá០áá¬áááºááẠá
HBase - HDFS ááœáẠ300 GB (100 GB ááá·áºá ááºáá±á¬áá±áá¬)
Cassandra - 250 GB (replication factor = 3)
á¡á²áá«ááœá±á ááá¬áááẠááá·áºááŸááºážááŒá±á¡á¬ážááŒáá·áº áá°áá®ááẠ(HBase ááœáẠá¡áááºážáááºááá¯áááº)á
HBase ááá·áºáááºáá»ááºáá»á¬áž
dfs.client.short.circuit.num = á (HDFS client optimization)
hbase.lru.cache.heavy.eviction.count.limit = 30 - ááá¯ááá¯áááºááŸá¬ 30 ááŸááºáá¯ááºááŒááºáž (~5 áááá áº) ááŒá®ážáá±á¬áẠpatch áááºá áááºá¡áá¯ááºáá¯ááºáááá·áºáááºá
hbase.lru.cache.heavy.eviction.mb.size.limit = 300 - ááááºážáááºážááŒááºážááŸáá·áº áááºááŸá¬ážááŒááºážá áá áºááŸááºááá¬á
YCSB ááŸááºáááºážáá»á¬ážááᯠááœá²ááŒááºážá áááºááŒá¬ááŒá®áž Excel ááááºáá»á¬ážááœáẠá á¯á ááºážáá¬ážáááº-
áááºááœá±á·ááŒááºáááá·áºá¡ááá¯ááºážá á€ááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºáá¯ááºáá±á¬ááºááŸá¯áá»á¬ážááẠá€á¡ááŒá±á¡áá±áá»á¬ážá¡á±á¬ááºááœáẠá€áá±áá¬áá±á·á
áºáá»á¬ážáá
áœááºážáá±á¬ááºáááºááᯠááŸáá¯ááºážááŸááºáᬠáá
áºá
áá¹ááá·áºáá»áŸáẠáááºááŸá¯ááŸá¯áá±á«ááºáž 450 áááŸáá
á±áá«áááºá
áá¯ááºáá¯ááºá
áœááºážá¡á¬ážá¡ááœáẠá
áááºááŸá¯ááºááŸá¬ážá
áá¬áá±á¬ááºážáá²á· áá¯ááºážáááºááŸá¯á¡ááœááºážááŸá¬ áá®á¡áá»ááºá¡áááºááœá±á áá
áºá
á¯á¶áá
áºáá±á¬ááºá¡ááœáẠá¡áá¯á¶ážáááºááá¯ááºáááºááá¯á· áá»áŸá±á¬áºááá·áºáá«áááºá
source: www.habr.com