ื•ื•ื™ ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ืœื™ื™ืขื ืขืŸ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ HBase ืึทืจื•ื™ืฃ ืฆื• 3 ืžืืœ ืื•ืŸ ืคื•ืŸ HDFS ืึทืจื•ื™ืฃ ืฆื• 5 ืžืืœ

ื”ื•ื™ืš ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื™ื– ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืฉืœื™ืกืœ ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ ื•ื•ืขืŸ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ื’ืจื•ื™ืก ื“ืึทื˜ืŸ. ืื™ืŸ ื“ื™ ื“ืึทื˜ืŸ ืœืึธื•ื“ื™ื ื’ ืึธืคึผื˜ื™ื™ืœื•ื ื’ ืื™ืŸ ืกื‘ืขืจื‘ืึทื ืง, ืžื™ืจ ืคึผืึธืžืคึผืข ื›ึผืžืขื˜ ืึทืœืข ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ืื™ืŸ ืื•ื ื“ื–ืขืจ Hadoop-ื‘ืื–ื™ืจื˜ ื“ืึทื˜ืึท ืงืœืึธื•ื“ ืื•ืŸ ื“ืขืจื™ื‘ืขืจ ื”ืึทื ื“ืœืขืŸ ืžื™ื˜ ื˜ืึทืงืข ื’ืจื•ื™ืก ืคืœืึธื•ื– ืคื•ืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข. ื’ืขื•ื•ื™ื™ื ื˜ืœืขืš, ืžื™ืจ ื–ืขื ืขืŸ ืฉื˜ืขื ื“ื™ืง ืงื•ืงืŸ ืคึฟืึทืจ ื•ื•ืขื’ืŸ ืฆื• ืคึฟืึทืจื‘ืขืกืขืจืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’, ืื•ืŸ ืื™ืฆื˜ ืžื™ืจ ื•ื•ืขืœืŸ ืฆื• ื–ืึธื’ืŸ ืื™ืจ ื•ื•ื™ ืžื™ืจ ื’ืขืจืื˜ืŸ ืฆื• ืคึผืึทื˜ืฉ RegionServer HBase ืื•ืŸ ื“ื™ HDFS ืงืœื™ืขื ื˜, ื“ืึทื ืง ืฆื• ื•ื•ืึธืก ืžื™ืจ ื–ืขื ืขืŸ ื‘ื™ื›ื•ืœืช ืฆื• ื‘ืื˜ื™ื™ื˜ื™ืง ืคืึทืจื’ืจืขืกืขืจืŸ ื“ื™ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ ืœื™ื™ืขื ืขืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ื–.
ื•ื•ื™ ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ืœื™ื™ืขื ืขืŸ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ HBase ืึทืจื•ื™ืฃ ืฆื• 3 ืžืืœ ืื•ืŸ ืคื•ืŸ HDFS ืึทืจื•ื™ืฃ ืฆื• 5 ืžืืœ

ืึธื‘ืขืจ, ืื™ื™ื“ืขืจ ืื™ืจ ืžืึทืš ืื•ื™ืฃ ืฆื• ื“ื™ ืขืกืึทื ืก ืคื•ืŸ ื“ื™ ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ, ืขืก ืื™ื– ื•ื•ืขืจื˜ ืฆื• ืจืขื“ืŸ ื•ื•ืขื’ืŸ ืจื™ืกื˜ืจื™ืงืฉืึทื ื– ื•ื•ืึธืก, ืื™ืŸ ืคึผืจื™ื ืฆื™ืคึผ, ืงืขื ืขืŸ ื ื™ื˜ ื–ื™ื™ืŸ ืกืขืจืงืึทืžื•ื•ืขื ื˜ื™ื“ ืื•ื™ื‘ ืื™ืจ ื–ื™ืฆืŸ ืื•ื™ืฃ ืึท ื”ื“ื“.

ืคืืจื•ื•ืืก HDD ืื•ืŸ ืฉื ืขืœ ืจืึทื ื“ืึธื ืึทืงืกืขืก ืœื™ื™ืขื ืขืŸ ื–ืขื ืขืŸ ื™ื ืงืึทืžืคึผืึทื˜ืึทื‘ืึทืœ
ื•ื•ื™ ืื™ืจ ื•ื•ื™ืกืŸ, HBase, ืื•ืŸ ืคื™ืœืข ืื ื“ืขืจืข ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื–, ืงืจืึธื ื“ืึทื˜ืŸ ืื™ืŸ ื‘ืœืึทืงืก ืคื•ืŸ ืขื˜ืœืขื›ืข ื˜ืขื ืก ืคื•ืŸ ืงื™ืœืื‘ื™ื™ื˜ ืื™ืŸ ื’ืจื™ื™ืก. ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜ ืขืก ืื™ื– ื•ื•ืขื’ืŸ 64 ืงื‘. ืื™ืฆื˜ ืœืึธืžื™ืจ ื™ืžืึทื“ื–ืฉืึทืŸ ืึทื– ืžื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื‘ืึทืงื•ืžืขืŸ ื‘ืœื•ื™ื– 100 ื‘ื™ื˜ืขืก ืื•ืŸ ืžื™ืจ ื‘ืขื˜ืŸ HBase ืฆื• ื’ืขื‘ืŸ ืื•ื ื“ื– ื“ื™ ื“ืึทื˜ืŸ ืžื™ื˜ ืึท ื–ื™ื›ืขืจ ืฉืœื™ืกืœ. ื–ื™ื ื˜ ื“ื™ ื‘ืœืึธืง ื’ืจื™ื™ืก ืื™ืŸ HFiles ืื™ื– 64 ืงื‘, ื“ื™ ื‘ืงืฉื” ื•ื•ืขื˜ ื–ื™ื™ืŸ 640 ืžืืœ ื’ืจืขืกืขืจ (ื ืึธืจ ืึท ืžื™ื ื•ื˜!) ื•ื•ื™ ื ื™ื™ื˜ื™ืง.

ื“ืขืจื ืึธืš, ื–ื™ื ื˜ ื“ื™ ื‘ืงืฉื” ื•ื•ืขื˜ ื’ื™ื™ืŸ ื“ื•ืจืš HDFS ืื•ืŸ ื–ื™ื™ืŸ ืžืขื˜ืึทื“ืึทื˜ืึท ืงืึทื˜ืฉื™ื ื’ ืžืขืงืึทื ื™ื–ืึทื ShortCircuitCache (ื•ื•ืึธืก ืึทืœืึทื•ื– ื“ื™ืจืขืงื˜ ืึทืงืกืขืก ืฆื• ื˜ืขืงืขืก), ื“ืึธืก ืคื™ืจื˜ ืฆื• ืœื™ื™ืขื ืขืŸ ืฉื•ื™ืŸ 1 ืžื‘ ืคื•ืŸ ื“ื™ ื“ื™ืกืง. ืึธื‘ืขืจ, ื“ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืึทื“ื–ืฉืึทืกื˜ื™ื“ ืžื™ื˜ ื“ืขื ืคึผืึทืจืึทืžืขื˜ืขืจ ื“ืคืก.ืงืœื™ืขื ื˜.ืœื™ื™ืขื ืขืŸ.ืงื•ืจืฅ-ื‘ืืคืขืจ.ื’ืจื™ื™ืก ืื•ืŸ ืื™ืŸ ืคื™ืœืข ืงืึทืกืขืก ืขืก ืื™ื– ื–ื™ื ืขืŸ ืฆื• ืจืขื“ื•ืฆื™ืจืŸ ื“ืขื ื•ื•ืขืจื˜, ืœืžืฉืœ ืฆื• 126 ืงื‘.

ื–ืืœ ืก ื–ืึธื’ืŸ ืžื™ืจ ื˜ืึธืŸ ื“ืึธืก, ืึธื‘ืขืจ ืื™ืŸ ืึทื“ื™ืฉืึทืŸ, ื•ื•ืขืŸ ืžื™ืจ ืึธื ื”ื™ื™ื‘ืŸ ืœื™ื™ืขื ืขืŸ ื“ืึทื˜ืŸ ื“ื•ืจืš ื“ื™ ื“ื–ืฉืึทื•ื•ืึท ืึทืคึผื™, ืึทื–ืึท ื•ื•ื™ ืคืึทื ื’ืงืฉืึทื ื– ื•ื•ื™ FileChannel.read ืื•ืŸ ื‘ืขื˜ืŸ ื“ื™ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื ืฆื• ืœื™ื™ืขื ืขืŸ ื“ื™ ืกืคึผืขืกื™ืคื™ืขื“ ืกื•ืžืข ืคื•ืŸ โ€‹โ€‹ื“ืึทื˜ืŸ, ืขืก ืœื™ื™ืขื ื˜ "ื ืึธืจ ืื™ืŸ ืคืึทืœ" 2 ืžืืœ ืžืขืจ , ื“.ื”. 256 ืงื‘ ืื™ืŸ ืื•ื ื“ื–ืขืจ ืคืึทืœ. ื“ืึธืก ืื™ื– ื•ื•ื™ื™ึทืœ Java ื”ืื˜ ื ื™ืฉื˜ ืึทืŸ ื’ืจื™ื ื’ ื•ื•ืขื’ ืฆื• ืฉื˜ืขืœืŸ ื“ื™ FADV_RANDOM ืคืึธืŸ ืฆื• ืคืึทืจืžื™ื™ึทื“ืŸ ื“ืขื ื ืึทื˜ื•ืจ.

ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜, ืฆื• ื‘ืึทืงื•ืžืขืŸ ืื•ื ื“ื–ืขืจ 100 ื‘ื™ื˜ืขืก, 2600 ืžืืœ ืžืขืจ ืื™ื– ืœื™ื™ืขื ืขืŸ ืื•ื ื˜ืขืจ ื“ื™ ืงืึทืคึผื˜ืขืจ. ืขืก ื•ื•ืึธืœื˜ ื•ื™ืกืงื•ืžืขืŸ ืึทื– ื“ื™ ืœื™ื™ื–ื•ื ื’ ืื™ื– ืงืœืึธืจ ื•ื•ื™ ื“ืขืจ ื˜ืึธื’, ืœืึธื–ืŸ ืื•ื ื“ื– ืจืขื“ื•ืฆื™ืจืŸ ื“ื™ ื’ืจื™ื™ืก ืคื•ืŸ ื“ื™ ื‘ืœืึธืง ืฆื• ืงื™ืœืึธื‘ื™ื™ื˜, ืฉื˜ืขืœืŸ ื“ื™ ื“ืขืจืžืื ื˜ ืคืึธืŸ ืื•ืŸ ื‘ืึทืงื•ืžืขืŸ ืึท ื’ืจื•ื™ืก ืึทืงืกืขืœืขืจื™ื™ืฉืึทืŸ ืคื•ืŸ ืื•ื™ืคืงืœืขืจื•ื ื’. ืื‘ืขืจ ื“ื™ ืฆืจื” ืื™ื– ืึทื– ื“ื•ืจืš ืจื™ื“ื•ืกื™ื ื’ ื“ื™ ื‘ืœืึธืง ื’ืจื™ื™ืก ืžื™ื˜ 2 ืžืืœ, ืžื™ืจ ืื•ื™ืš ืจืขื“ื•ืฆื™ืจืŸ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ื‘ื™ื˜ืขืก ืœื™ื™ืขื ืขืŸ ืคึผืขืจ ืึทืคึผืึทืจืึทื˜ ืคื•ืŸ ืฆื™ื™ึทื˜ ืžื™ื˜ 2 ืžืืœ.

ืขื˜ืœืขื›ืข ื ื•ืฅ ืคื•ืŸ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื“ื™ FADV_RANDOM ืคืึธืŸ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื‘ืืงื•ืžืขืŸ, ืึธื‘ืขืจ ื‘ืœื•ื™ื– ืžื™ื˜ ื”ื•ื™ืš ืžื•ืœื˜ื™-ืคืึธื“ืขื ืื•ืŸ ืžื™ื˜ ืึท ื‘ืœืึธืง ื’ืจื™ื™ืก ืคื•ืŸ 128 ืงื‘, ืึธื‘ืขืจ ื“ืึธืก ืื™ื– ืึท ืžืึทืงืกื™ืžื•ื ืคื•ืŸ ืึท ืคึผืึธืจ ืคื•ืŸ ื˜ืขื ืก ืคื•ืŸ ืคึผืจืึธืฆืขื ื˜:

ื•ื•ื™ ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ืœื™ื™ืขื ืขืŸ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ HBase ืึทืจื•ื™ืฃ ืฆื• 3 ืžืืœ ืื•ืŸ ืคื•ืŸ HDFS ืึทืจื•ื™ืฃ ืฆื• 5 ืžืืœ

ื˜ืขืกืฅ ื–ืขื ืขืŸ ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ืื•ื™ืฃ 100 ื˜ืขืงืขืก, ื™ืขื“ืขืจ 1 ื’ื™ื’ืื‘ื™ื™ื˜ ืื™ืŸ ื’ืจื™ื™ืก ืื•ืŸ ืœื™ื’ืŸ ืื•ื™ืฃ 10 ื”ื“ื“.

ืœืึธืžื™ืจ ืจืขื›ืขื ืขืŸ ืื•ื™ืฃ ื•ื•ืึธืก ืžื™ืจ ืงืขื ืขืŸ, ืื™ืŸ ืคึผืจื™ื ืฆื™ืคึผ, ืจืขื›ืขื ืขืŸ ืžื™ื˜ ื“ื™ ื’ื™ื›ืงื™ื™ึทื˜:
ื–ืืœ ืก ื–ืึธื’ืŸ ืžื™ืจ ืœื™ื™ืขื ืขืŸ ืคื•ืŸ 10 ื“ื™ืกืงืก ืžื™ื˜ ืึท ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ 280 ืžืขื’ืื‘ื™ื™ื˜ืŸ / ืกืขืง, ื“.ื”. 3 ืžื™ืœื™ืึธืŸ ืžืืœ 100 ื‘ื™ื˜ืขืก. ืื‘ืขืจ ื•ื•ื™ ืžื™ืจ ื’ืขื“ืขื ืงืขืŸ, ื“ื™ ื“ืึทื˜ืŸ ืžื™ืจ ื“ืึทืจืคึฟืŸ ืื™ื– 2600 ืžืืœ ื•ื•ื™ื™ื ื™ืงืขืจ ื•ื•ื™ ื•ื•ืึธืก ืื™ื– ืœื™ื™ืขื ืขืŸ. ืื–ื•ื™, ืžื™ืจ ื˜ื™ื™ืœืŸ 3 ืžื™ืœื™ืึธืŸ ื“ื•ืจืš 2600 ืื•ืŸ ื‘ืึทืงื•ืžืขืŸ 1100 ืจืขืงืึธืจื“ืก ืคึผืขืจ ืกืขืงื•ื ื“ืข.

ื“ืขืคึผืจืขืกื™ืข, ืื™ื– ื ื™ื˜ ืขืก? ืึทื– ืก ื ืึทื˜ื•ืจ ื˜ืจืึทืค - ืึทืงืกืขืก ืฆื•ื˜ืจื™ื˜ ืฆื• ื“ืึทื˜ืŸ ืื•ื™ืฃ ื“ื™ ื”ื“ื“ - ืจืึทื’ืึทืจื“ืœืึทืก ืคื•ืŸ ื“ื™ ื‘ืœืึธืง ื’ืจื™ื™ืก. ื“ืึธืก ืื™ื– ื“ื™ ื’ืฉืžื™ื•ืช ืœื™ืžื™ื˜ ืคื•ืŸ ื˜ืจืึทืค ืึทืงืกืขืก ืื•ืŸ ืงื™ื™ืŸ ื“ืึทื˜ืึทื‘ื™ื™ืก ืงืขื ืขืŸ ื ื™ืฉื˜ ืงื•ื•ืขื˜ืฉืŸ ืžืขืจ ืื•ื ื˜ืขืจ ืึทื–ืึท ื˜ื ืึธื™ื.

ื•ื•ื™ ืึทื–ื•ื™ ื˜ืึธืŸ ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื– ื“ืขืจื’ืจื™ื™ื›ืŸ ืคื™ืœ ื”ืขื›ืขืจ ืกืคึผื™ื“ื–? ืฆื• ืขื ื˜ืคึฟืขืจืŸ ื“ืขื ืงืฉื™ื, ืœืึธืžื™ืจ ืงื•ืงืŸ ืื™ืŸ ื•ื•ืึธืก ืื™ื– ื’ืขืฉืขืขื ื™ืฉ ืื™ืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ื‘ื™ืœื“:

ื•ื•ื™ ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ืœื™ื™ืขื ืขืŸ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ HBase ืึทืจื•ื™ืฃ ืฆื• 3 ืžืืœ ืื•ืŸ ืคื•ืŸ HDFS ืึทืจื•ื™ืฃ ืฆื• 5 ืžืืœ

ื“ืึธ ืžื™ืจ ื–ืขืŸ ืึทื– ืคึฟืึทืจ ื“ื™ ืขืจืฉื˜ืขืจ ื‘ื™ืกืœ ืžื™ื ื•ื˜ ื“ื™ ื’ื™ื›ืงื™ื™ึทื˜ ืื™ื– ื˜ืึทืงืข ื•ื•ืขื’ืŸ ืึท ื˜ื•ื™ื–ื ื˜ ืจืขืงืึธืจื“ืก ืคึผืขืจ ืกืขืงื•ื ื“ืข. ืึธื‘ืขืจ, ื•ื•ื™ื™ึทื˜ืขืจ, ืจืขื›ื˜ ืฆื• ื“ืขื ืคืึทืงื˜ ืึทื– ืคื™ืœ ืžืขืจ ืื™ื– ืœื™ื™ืขื ืขืŸ ื•ื•ื™ ื’ืขื‘ืขื˜ืŸ, ื“ื™ ื“ืึทื˜ืŸ ืขื ื“ืก ืื™ืŸ ื“ื™ ื‘ืึทืฃ / ืงืึทืฉ ืคื•ืŸ ื“ื™ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื (ืœื™ื ื•ืงืก) ืื•ืŸ ื“ื™ ื’ื™ื›ืงื™ื™ึทื˜ ื™ื ืงืจื™ืกื™ื– ืฆื• ืึท ืžืขืจ ืœื™ื™ึทื˜ื™ืฉ 60 ื˜ื•ื™ื–ื ื˜ ืคึผืขืจ ืกืขืงื•ื ื“ืข

ื“ืขืจื ืึธืš, ืžื™ืจ ื•ื•ืขืœืŸ ื”ืึทื ื“ืœืขืŸ ืžื™ื˜ ืึทืงืกืขืœืขืจื™ื™ื˜ื™ื ื’ ืึทืงืกืขืก ื‘ืœื•ื™ื– ืฆื• ื“ื™ ื“ืึทื˜ืŸ ื•ื•ืึธืก ื–ืขื ืขืŸ ืื™ืŸ ื“ื™ ืึทืก ืงืึทืฉ ืึธื“ืขืจ ืœื™ื’ืŸ ืื™ืŸ SSD / NVMe ืกื˜ืึธืจื™ื“ื–ืฉ ื“ืขื•ื•ื™ืกืขืก ืžื™ื˜ ืคืึทืจื’ืœื™ื™ึทื›ืœืขืš ืึทืงืกืขืก ื’ื™ื›ืงื™ื™ึทื˜.

ืื™ืŸ ืื•ื ื“ื–ืขืจ ืคืึทืœ, ืžื™ืจ ื•ื•ืขืœืŸ ื“ื•ืจื›ืคื™ืจืŸ ื˜ืขืกืฅ ืื•ื™ืฃ ืึท ื‘ืึทื ืง ืคื•ืŸ 4 ืกืขืจื•ื•ืขืจืก, ื™ืขื“ืขืจ ืคื•ืŸ ื•ื•ืึธืก ืื™ื– ื‘ืืคื•ื™ืœืŸ ื•ื•ื™ ื’ื™ื™ื˜:

ืงืคึผื•: Xeon E5-2680 v4 @ 2.40GHz 64 ืคึฟืขื“ืขื.
ื–ื›ึผืจื•ืŸ: 730 ื’ื™ื’ืื‘ื™ื™ื˜.
Java ื•ื•ืขืจืกื™ืข: 1.8.0_111

ืื•ืŸ ื“ืึธ ื“ืขืจ ืฉืœื™ืกืœ ืคื•ื ื˜ ืื™ื– ื“ื™ ืกื•ืžืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ืึทื˜ืŸ ืื™ืŸ ื“ื™ ื˜ื™ืฉืŸ ื•ื•ืึธืก ื“ืึทืจืฃ ื–ื™ื™ืŸ ืœื™ื™ืขื ืขืŸ. ื“ืขืจ ืคืึทืงื˜ ืื™ื– ืึทื– ืื•ื™ื‘ ืื™ืจ ืœื™ื™ืขื ืขืŸ ื“ืึทื˜ืŸ ืคื•ืŸ ืึท ื˜ื™ืฉ ื•ื•ืึธืก ืื™ื– ืœืขื’ืึทืžืจืข ื’ืขืฉื˜ืขืœื˜ ืื™ืŸ ื“ื™ HBase ืงืึทืฉ, ืขืก ื•ื•ืขื˜ ื ื™ืฉื˜ ืืคื™ืœื• ืงื•ืžืขืŸ ืฆื• ืœื™ื™ืขื ืขืŸ ืคึฟื•ืŸ ื“ื™ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื ืก ื‘ืึทืฃ / ืงืึทืฉ. ื•ื•ื™ื™ึทืœ HBase ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜ ืึทืœืึทืงื™ื™ืฅ 40% ืคื•ืŸ ื–ื›ึผืจื•ืŸ ืฆื• ืึท ืกื˜ืจื•ืงื˜ื•ืจ ื’ืขืจื•ืคืŸ BlockCache. ื™ืกืขื ืฉืึทืœื™, ื“ืึธืก ืื™ื– ืึท ConcurrentHashMap, ื•ื•ื• ื“ืขืจ ืฉืœื™ืกืœ ืื™ื– ื“ืขืจ ื˜ืขืงืข ื ืึธืžืขืŸ + ืคืึธื˜ืึธ ืคื•ืŸ ื“ื™ ื‘ืœืึธืง, ืื•ืŸ ื“ื™ ื•ื•ืขืจื˜ ืื™ื– ื“ื™ ืคืึทืงื˜ื™ืฉ ื“ืึทื˜ืŸ ืื™ืŸ ื“ืขื ืคืึธื˜ืึธ.

ืื–ื•ื™, ื•ื•ืขืŸ ืœื™ื™ืขื ืขืŸ ื‘ืœื•ื™ื– ืคื•ืŸ ื“ืขื ืกื˜ืจื•ืงื˜ื•ืจ, ืžื™ืจ ืžื™ืจ ื–ืขืŸ ื•ื™ืกื’ืขืฆื™ื™ื›ื ื˜ ื’ื™ื›ืงื™ื™ึทื˜, ื•ื•ื™ ืึท ืžื™ืœื™ืึธืŸ ืจื™ืงื•ื•ืขืก ืคึผืขืจ ืกืขืงื•ื ื“ืข. ืึธื‘ืขืจ ืœืึธืžื™ืจ ื™ืžืึทื“ื–ืฉืึทืŸ ืึทื– ืžื™ืจ ืงืขื ืขืŸ ื ื™ืฉื˜ ืึทืœืึทืงื™ื™ื˜ ื”ื•ื ื“ืขืจื˜ืขืจ ืคื•ืŸ ื’ื™ื’ืื‘ื™ื™ื˜ ืคื•ืŸ ื–ื›ึผืจื•ืŸ ื ืึธืจ ืคึฟืึทืจ ื“ืึทื˜ืึทื‘ื™ื™ืก ื“ืึทืจืฃ, ื•ื•ื™ื™ึทืœ ืขืก ื–ืขื ืขืŸ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืื ื“ืขืจืข ื ื•ืฆื™ืง ื–ืื›ืŸ ืคืœื™ืกื ื“ื™ืง ืื•ื™ืฃ ื“ื™ ืกืขืจื•ื•ืขืจืก.

ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื™ืŸ ืื•ื ื“ื–ืขืจ ืคืึทืœ, ื“ื™ ื‘ืึทื ื“ ืคื•ืŸ BlockCache ืื•ื™ืฃ ืื™ื™ืŸ ืจืก ืื™ื– ื•ื•ืขื’ืŸ 12 ื’ื™ื’ืื‘ื™ื™ื˜. ืžื™ืจ ืœืึทื ื“ื™ื“ ืฆื•ื•ื™ื™ ืจืก ืื•ื™ืฃ ืื™ื™ืŸ ื ืึธื“ืข, ื“.ื”. 96 ื’ื™ื’ืื‘ื™ื™ื˜ ื–ืขื ืขืŸ ืึทืœืึทืงื™ื™ื˜ื™ื“ ืคึฟืึทืจ BlockCache ืื•ื™ืฃ ืึทืœืข ื ืึธื•ื“ื–. ืื•ืŸ ืขืก ื–ืขื ืขืŸ ืคื™ืœืข ืžืึธืœ ืžืขืจ ื“ืึทื˜ืŸ, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืœืึธื–ืŸ ืขืก ื–ื™ื™ืŸ 4 ื˜ื™ืฉืŸ, 130 ืžืงื•ืžื•ืช ื™ืขื“ืขืจ, ืื™ืŸ ื•ื•ืึธืก ื˜ืขืงืขืก ื–ืขื ืขืŸ 800 ืžืขื’ืื‘ื™ื™ื˜ืŸ ืื™ืŸ ื’ืจื™ื™ืก, ืงืึทืžืคึผืจืขืกื˜ ื“ื•ืจืš FAST_DIFF, ื™.ืข. ืึท ื’ืึทื ืฅ ืคื•ืŸ 410 ื’ื™ื’ืื‘ื™ื™ื˜ (ื“ืึธืก ืื™ื– ืจื™ื™ืŸ ื“ืึทื˜ืŸ, ื“"ื” ืึธืŸ ื’ืขื ื•ืžืขืŸ ืื™ืŸ ื—ืฉื‘ื•ืŸ ื“ื™ ืจืขืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคืึทืงื˜ืึธืจ).

ืื–ื•ื™, BlockCache ืื™ื– ื‘ืœื•ื™ื– ื•ื•ืขื’ืŸ 23% ืคื•ืŸ ื“ื™ ื’ืึทื ืฅ ื“ืึทื˜ืŸ ื‘ืึทื ื“ ืื•ืŸ ื“ืึธืก ืื™ื– ืคื™ืœ ื ืขืขื ื˜ืขืจ ืฆื• ื“ื™ ืคืึทืงื˜ื™ืฉ ื˜ื ืึธื™ื ืคื•ืŸ ื•ื•ืึธืก ืื™ื– ื’ืขืจื•ืคืŸ BigData. ืื•ืŸ ื“ืึธืก ืื™ื– ื•ื•ื• ื“ื™ ืฉืคึผืึทืก ื”ื™ื™ื‘ื˜ - ื•ื•ื™ื™ึทืœ ื“ืึธืš, ื“ื™ ื•ื•ื™ื™ื ื™ืงืขืจืข ืงืึทืฉ ื”ื™ืฅ, ื“ื™ ืขืจื’ืขืจ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’. ื ืึธืš ืึทืœืข, ืื•ื™ื‘ ืื™ืจ ืคืึทืจืคื™ืจืŸ, ืื™ืจ ื•ื•ืขื˜ ื”ืึธื‘ืŸ ืฆื• ื˜ืึธืŸ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืึทืจื‘ืขื˜ - ื“.ื”. ื’ื™ื™ืŸ ืึทืจืึธืคึผ ืฆื• ืจื•ืคืŸ ืกื™ืกื˜ืขื ืคืึทื ื’ืงืฉืึทื ื–. ืึธื‘ืขืจ, ื“ืึธืก ืงืขืŸ ื ื™ืฉื˜ ื–ื™ื™ืŸ ืึทื•ื•ื•ื™ื“ื™ื“, ืึทื–ื•ื™ ืœืึธืžื™ืจ ืงื•ืงืŸ ืื™ืŸ ืึท ื’ืึธืจ ืึทื ื“ืขืจืฉ ืึทืกืคึผืขืงื˜ - ื•ื•ืึธืก ื›ืึทืคึผืึทื ื– ืžื™ื˜ ื“ื™ ื“ืึทื˜ืŸ ืื™ืŸ ื“ื™ ืงืึทืฉ?

ื–ืืœ ืก ืคืึทืจืคึผืึธืฉืขื˜ืขืจืŸ ื“ื™ ืกื™ื˜ื•ืึทืฆื™ืข ืื•ืŸ ื™ื‘ืขืจื ืขืžืขืŸ ืึทื– ืžื™ืจ ื”ืึธื‘ืŸ ืึท ืงืึทืฉ ืึทื– ื‘ืœื•ื™ื– ืคื™ืฅ 1 ื›ื™ื™ืคืขืฅ. ื“ืึธ ืื™ื– ืึท ื‘ื™ื™ืฉืคึผื™ืœ ืคื•ืŸ ื•ื•ืึธืก ื•ื•ืขื˜ ืคึผืึทืกื™ืจืŸ ื•ื•ืขืŸ ืžื™ืจ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ ืึท ื“ืึทื˜ืŸ ื‘ืึทื ื“ 3 ืžืืœ ื’ืจืขืกืขืจ ื•ื•ื™ ื“ื™ ืงืึทืฉ, ืžื™ืจ ื•ื•ืขืœืŸ ื”ืึธื‘ืŸ ืฆื•:

1. ืฉื˜ืขืœืŸ ื‘ืœืึธืง 1 ืื™ืŸ ืงืึทืฉ
2. ืึทืจืึธืคึผื ืขืžืขืŸ ื‘ืœืึธืง 1 ืคื•ืŸ ืงืึทืฉ
3. ืฉื˜ืขืœืŸ ื‘ืœืึธืง 2 ืื™ืŸ ืงืึทืฉ
4. ืึทืจืึธืคึผื ืขืžืขืŸ ื‘ืœืึธืง 2 ืคื•ืŸ ืงืึทืฉ
5. ืฉื˜ืขืœืŸ ื‘ืœืึธืง 3 ืื™ืŸ ืงืึทืฉ

5 ืึทืงืฉืึทื ื– ื’ืขืขื ื“ื™ืงื˜! ืึธื‘ืขืจ, ื“ื™ ืกื™ื˜ื•ืึทืฆื™ืข ืงืขืŸ ื ื™ืฉื˜ ื–ื™ื™ืŸ ื’ืขืจื•ืคึฟืŸ ื ืึธืจืžืึทืœ; ืื™ืŸ ืคืึทืงื˜, ืžื™ืจ ืคืึธืจืกื™ื ื’ HBase ืฆื• ื˜ืึธืŸ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ื’ืึธืจ ืึทืจื•ื™ืกื’ืขื•ื•ืึธืจืคืŸ ืึทืจื‘ืขื˜. ืขืก ืงืขืกื™ื™ื“ืขืจ ืœื™ื™ืขื ื˜ ื“ืึทื˜ืŸ ืคื•ืŸ ื“ื™ ืึทืก ืงืึทืฉ, ืฉื˜ืขืœืŸ ืขืก ืื™ืŸ 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 ืจืขืกื•ืจืกืŸ ืึธืŸ ื˜ืืŸ ื“ื™ ืกื™ืกื™ืคืขืึทืŸ ืึทืจื‘ืขื˜ ืคื•ืŸ ืคึผืœื™ื™ืกื™ื ื’ ื“ืึทื˜ืŸ ืื™ืŸ ื“ื™ ืงืึทืฉ ื‘ืœื•ื™ื– ืฆื• ืžื™ื“ ื•ื•ืึทืจืคืŸ ืขืก ืึทืจืึธืคึผ ื“ื™ ืคืœื™ืกืŸ ืคื•ืŸ ื“ื™ ืžืึทืจืฉืึทืŸ ื”ื™ื ื˜:

ื•ื•ื™ ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ืœื™ื™ืขื ืขืŸ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ HBase ืึทืจื•ื™ืฃ ืฆื• 3 ืžืืœ ืื•ืŸ ืคื•ืŸ HDFS ืึทืจื•ื™ืฃ ืฆื• 5 ืžืืœ

ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜, ืงืคึผื• ื™ื•ื˜ืึทืœืึทื–ื™ื™ืฉืึทืŸ ื™ื ืงืจื™ืกื™ื–, ืึธื‘ืขืจ ืื™ื– ืคื™ืœ ื•ื•ื™ื™ื ื™ืงืขืจ ื•ื•ื™ ืคึผืจืึธื•ื“ืึทืงื˜ื™ื•ื•ื™ื˜ื™:

ื•ื•ื™ ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ืœื™ื™ืขื ืขืŸ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ HBase ืึทืจื•ื™ืฃ ืฆื• 3 ืžืืœ ืื•ืŸ ืคื•ืŸ HDFS ืึทืจื•ื™ืฃ ืฆื• 5 ืžืืœ

ืขืก ืื™ื– ืื•ื™ืš ื›ื“ืื™ ืฆื• ื‘ืืžืขืจืงืŸ ืึทื– ื“ื™ ื‘ืœืึทืงืก ืกื˜ืึธืจื“ ืื™ืŸ BlockCache ื–ืขื ืขืŸ ืึทื ื“ืขืจืฉ. ืจื•ื‘ึฟ, ื•ื•ืขื’ืŸ 95%, ืื™ื– ื“ืึทื˜ืŸ ื–ื™ืš. ืื•ืŸ ื“ื™ ืžื ื•ื—ื” ืื™ื– ืžืขื˜ืึทื“ืึทื˜ืึท, ืึทื–ืึท ื•ื•ื™ ื‘ืœื•ื ืคื™ืœื˜ืขืจืก ืึธื“ืขืจ 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 ืื•ืŸ ืžืึทื›ืŸ ื“ื™ ืฉื˜ืจื™ืš ืึทืจื‘ืขื˜ ื’ืœื™ื™ืš ื ืึธืš ืงืึทื˜ืขืจ.

ืึธื‘ืขืจ, ืขืก ืื™ื– ืื•ื™ืš ืึท ืคึผื™ื™ืœืึธื•ื“ ืื™ืŸ ื“ืขื ืคึผืึทืจืึทืžืขื˜ืขืจ. ืื•ื™ื‘ ืื•ื ื“ื–ืขืจ ืžืึทืกืข ืื™ื– ืึทื–ื•ื™ ืึทื– ืงื•ืจืฅ-ื˜ืขืจืžื™ืŸ ืœื™ื™ืขื ืขืŸ (ื–ืึธื’ืŸ ื‘ืขืฉืึทืก ื“ืขื ื˜ืึธื’) ืื•ืŸ ืœืึทื ื’-ื˜ืขืจืžื™ืŸ ืœื™ื™ืขื ืขืŸ (ื‘ื™ื™ ื ืึทื›ื˜) ื–ืขื ืขืŸ ืงืขืกื™ื™ื“ืขืจ ื™ื ื˜ืขืจืกืคึผืขืจืกื˜, ืžื™ืจ ืงืขื ืขืŸ ืžืึทื›ืŸ ื–ื™ื›ืขืจ ืึทื– ื“ื™ ืฉื˜ืจื™ืš ืื™ื– ืื•ื™ืกื’ืขื“ืจื™ื™ื˜ ืื•ื™ืฃ ื‘ืœื•ื™ื– ื•ื•ืขืŸ ืœืึทื ื’ ืœื™ื™ืขื ืขืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ื–ืขื ืขืŸ ืื™ืŸ ืคึผืจืึธื’ืจืขืก.

ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืžื™ืจ ื•ื•ื™ืกืŸ ืึทื– ืงื•ืจืฅ-ื˜ืขืจืžื™ืŸ ืจื™ื“ื™ื ื’ื– ื™ื•ื–ืฉืึทื•ื•ืึทืœื™ ืœืขืฆื˜ืข ื•ื•ืขื’ืŸ 1 ืžื™ื ื•ื˜. ืขืก ืื™ื– ื ื™ื˜ ื“ืึทืจืคึฟืŸ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ืคืืจื•ื•ืืจืคืŸ ื‘ืœืึทืงืก, ื“ืขืจ ืงืึทืฉ ื•ื•ืขื˜ ื ื™ืฉื˜ ื”ืึธื‘ืŸ ืฆื™ื™ึทื˜ ืฆื• ื•ื•ืขืจืŸ ืึทื•ื˜ื“ื™ื™ื˜ื™ื“ ืื•ืŸ ื“ืขืžืึธืœื˜ ืžื™ืจ ืงืขื ืขืŸ ืฉื˜ืขืœืŸ ื“ืขื ืคึผืึทืจืึทืžืขื˜ืขืจ ื’ืœื™ื™ึทืš ืฆื•, ืœืžืฉืœ, 10. ื“ืึธืก ื•ื•ืขื˜ ืคื™ืจืŸ ืฆื• ื“ื™ ืคืึทืงื˜ ืึทื– ื“ื™ ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทืŸ ื•ื•ืขื˜ ืึธื ื”ื™ื™ื‘ืŸ ืืจื‘ืขื˜ืŸ ื‘ืœื•ื™ื– ื•ื•ืขืŸ ืœืึทื ื’- ื˜ืขืจืžื™ืŸ ืึทืงื˜ื™ื•ื• ืœื™ื™ืขื ืขืŸ ื”ืื˜ ืื ื’ืขื”ื•ื™ื‘ืŸ, ื“.ื”. ืื™ืŸ 100 ืกืขืงื•ื ื“ืขืก. ืื–ื•ื™, ืื•ื™ื‘ ืžื™ืจ ื”ืึธื‘ืŸ ืึท ืงื•ืจืฅ-ื˜ืขืจืžื™ืŸ ืœื™ื™ืขื ืขืŸ, ืึทืœืข ื‘ืœืึทืงืก ื•ื•ืขื˜ ื’ื™ื™ืŸ ืื™ืŸ ื“ื™ ืงืึทืฉ ืื•ืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื‘ืืจืขื›ื˜ื™ื’ื˜ (ืึทื—ื•ืฅ ืคึฟืึทืจ ื“ื™ ื•ื•ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื™ื•ื•ื™ืงื˜ื™ื“ ื“ื•ืจืš ื“ื™ ื ืึธืจืžืึทืœ ืึทืœื’ืขืจื™ื“ืึทื). ืื•ืŸ ื•ื•ืขืŸ ืžื™ืจ ื˜ืึธืŸ ืœืึทื ื’-ื˜ืขืจืžื™ืŸ ืœื™ื™ืขื ืขืŸ, ื“ื™ ืฉื˜ืจื™ืš ืื™ื– ืคืืจืงืขืจื˜ ืื•ื™ืฃ ืื•ืŸ ืžื™ืจ ื•ื•ืึธืœื˜ ื”ืึธื‘ืŸ ืคื™ืœ ื”ืขื›ืขืจ ืคืึธืจืฉื˜ืขืœื•ื ื’.

hbase.lru.cache.heavy.eviction.mb.size.limit - ืฉื˜ืขืœื˜ ื•ื•ื™ ืคื™ืœืข ืžืขื’ืื‘ื™ื™ื˜ ืžื™ืจ ื•ื•ืึธืœื˜ ื•ื•ื™ ืฆื• ืฉื˜ืขืœืŸ ืื™ืŸ ื“ื™ ืงืึทืฉ (ืื•ืŸ, ืคื•ืŸ ืงื•ืจืก, ื™ื•ื•ื™ืงื˜) ืื™ืŸ 10 ืกืขืงื•ื ื“ืขืก. ื“ืขืจ ืฉื˜ืจื™ืš ื•ื•ืขื˜ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ื“ืขืจื’ืจื™ื™ื›ืŸ ื“ืขื ื•ื•ืขืจื˜ ืื•ืŸ ื”ืึทืœื˜ืŸ ืขืก. ื“ื™ ื ืงื•ื“ื” ืื™ื– ื“ืืก: ืื•ื™ื‘ ืžื™ืจ ืฉื˜ื•ืคึผืŸ ื’ื™ื’ืื‘ื™ื™ื˜ ืืจื™ื™ืŸ ืื™ื ืขื ืงืืฉ, ื“ืืจืคืŸ ืžื™ืจ ืืจื•ื™ืกื•ื•ืืจืคืŸ ื’ื™ื’ืื‘ื™ื™ื˜, ืื•ืŸ ื“ืืก, ื•ื•ื™ ืžื™ืจ ื”ืื‘ืŸ ืื•ื™ื‘ืŸ ื’ืขื–ืขืŸ, ืื™ื– ื–ื™ื™ืขืจ ื˜ื™ื™ืขืจ. ืึธื‘ืขืจ, ืื™ืจ ื–ืึธืœ ื ื™ืฉื˜ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ืฉื˜ืขืœืŸ ืขืก ืฆื• ืงืœื™ื™ืŸ, ื•ื•ื™ื™ึทืœ ื“ืึธืก ื•ื•ืขื˜ ืคืึทืจืฉืึทืคืŸ ืคึผืจื™ืžืึทื˜ืฉื•ืจืœื™ ืึทืจื•ื™ืกื’ืึทื ื’ ื“ื™ ื‘ืœืึธืง ื”ืึธืคึผืงืขืŸ ืžืึธื“ืข. ืคึฟืึทืจ ืฉื˜ืึทืจืง ืกืขืจื•ื•ืขืจืก (ื•ื•ืขื’ืŸ 20-40 ื’ืฉืžื™ื•ืช ืงืึธืจืขืก), ืขืก ืื™ื– ืึธืคึผื˜ื™ืžืึทืœ ืฆื• ืฉื˜ืขืœืŸ ื•ื•ืขื’ืŸ 300-400 ืžืขื’ืื‘ื™ื™ื˜ืŸ. ืคึฟืึทืจ ื“ื™ ืžื™ื˜ืœ ืงืœืึทืก (~ 10 ืงืึธืจืขืก) 200-300 ืžืขื’ืื‘ื™ื™ื˜ืŸ. ืคึฟืึทืจ ืฉื•ื•ืึทืš ืกื™ืกื˜ืขืžืขืŸ (2-5 ืงืึธืจืขืก) 50-100 ืžืขื’ืื‘ื™ื™ื˜ืŸ ืงืขืŸ ื–ื™ื™ืŸ ื ืึธืจืžืึทืœ (ื ื™ื˜ ื˜ืขืกื˜ืขื“ ืื•ื™ืฃ ื“ื™).

ืœืึธืžื™ืจ ืงื•ืงืŸ ื•ื•ื™ ื“ืึธืก ืึทืจื‘ืขื˜: ืœืึธืžื™ืจ ื–ืึธื’ืŸ ืึทื– ืžื™ืจ ืฉื˜ืขืœืŸ hbase.lru.cache.heavy.eviction.mb.size.limit = 500, ืขืก ืื™ื– ืึท ืกืึธืจื˜ ืคื•ืŸ ืžืึทืกืข (ืœื™ื™ืขื ืขืŸ) ืื•ืŸ ื™ืขื“ืขืจ ~ 10 ืกืขืงื•ื ื“ืขืก ืžื™ืจ ืจืขื›ืขื ืขืŸ ื•ื•ื™ ืคื™ืœืข ื‘ื™ื˜ืขืก ื–ืขื ืขืŸ ื’ืขื•ื•ืขืŸ ืขื•ื•ื™ืงื˜ื™ื“ ืžื™ื˜ ื“ื™ ืคืึธืจืžื•ืœืข:

ืึธื•ื•ื•ืขืจื›ืขื“ = ืคืจื™ื™ ื‘ื™ื˜ืขืก ืกืึทื (ืžื‘) * 100 / ืœื™ืžื™ื˜ (ืžื‘) - 100;

ืื•ื™ื‘ ืื™ืŸ ืคืึทืงื˜ 2000 ืžืขื’ืื‘ื™ื™ื˜ืŸ ื–ืขื ืขืŸ ื™ื•ื•ื™ืงื˜ื™ื“, ื“ื™ ืึธื•ื•ื•ืขืจื›ืขื“ ืื™ื– ื’ืœื™ื™ึทืš ืฆื•:

2000 * 100 / 500 - 100 = 300%

ื“ื™ ืึทืœื’ืขืจื™ื“ืึทืžื– ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ื”ืึทืœื˜ืŸ ื ื™ื˜ ืžืขืจ ื•ื•ื™ ืึท ื‘ื™ืกืœ ื˜ืขื ืก ืคื•ืŸ ืคึผืจืึธืฆืขื ื˜, ืึทื–ื•ื™ ื“ื™ ืฉื˜ืจื™ืš ื•ื•ืขื˜ ืจืขื“ื•ืฆื™ืจืŸ ื“ื™ ืคึผืจืึธืฆืขื ื˜ ืคื•ืŸ ืงืึทืฉื˜ ื‘ืœืึทืงืก, ืื•ืŸ ื“ืขืจืžื™ื˜ ื™ืžืคึผืœืึทืžืขื ื™ื ื’ ืึทืŸ ืึทื•ื˜ืึธ-ื˜ื•ื ื™ื ื’ ืžืขืงืึทื ื™ื–ืึทื.

ืึธื‘ืขืจ, ืื•ื™ื‘ ื“ื™ ืžืึทืกืข ื˜ืจืืคื ืก, ืœืึธื–ืŸ ืื•ื ื“ื– ื–ืึธื’ืŸ ื‘ืœื•ื™ื– 200 ืžืขื’ืื‘ื™ื™ื˜ืŸ ื–ืขื ืขืŸ ื™ื•ื•ื™ืงื˜ื™ื“ ืื•ืŸ ืึธื•ื•ื•ืขืจื›ืขื“ ื•ื•ืขืจื˜ ื ืขื’ืึทื˜ื™ื•ื• (ื“ื™ ืึทื–ื•ื™ ื’ืขืจื•ืคืขื ืข ืึธื•ื•ื•ืขืจืฉืึธืึธื˜ื™ื ื’):

200 * 100 / 500 - 100 = -60%

ืื•ื™ืฃ ื“ื™ ืคืึทืจืงืขืจื˜, ื“ื™ ืฉื˜ืจื™ืš ื•ื•ืขื˜ ืคืึทืจื’ืจืขืกืขืจืŸ ื“ื™ ืคึผืจืึธืฆืขื ื˜ ืคื•ืŸ ืงืึทืฉื˜ ื‘ืœืึทืงืก ื‘ื™ื– ืึธื•ื•ืขืจื”ืขืึทื“ ื•ื•ืขืจื˜ positive.

ื•ื ื˜ืขืจ ืื™ื– ืึท ื‘ื™ื™ืฉืคึผื™ืœ ืคื•ืŸ ื•ื•ื™ ื“ืึธืก ืงื•ืงื˜ ืื•ื™ืฃ ืคืึทืงื˜ื™ืฉ ื“ืึทื˜ืŸ. ืขืก ืื™ื– ื ื™ื˜ ื“ืึทืจืคึฟืŸ ืฆื• ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ื“ืขืจื’ืจื™ื™ื›ืŸ 0%, ืขืก ืื™ื– ืื•ืžืžืขื’ืœืขืš. ืขืก ืื™ื– ื–ื™ื™ืขืจ ื’ื•ื˜ ื•ื•ืขืŸ ืขืก ืื™ื– ื•ื•ืขื’ืŸ 30-100%, ื“ืึธืก ื”ืขืœืคึผืก ืฆื• ื•ื™ืกืžื™ื™ื“ืŸ ืฆื• ืคืจื™ ืึทืจื•ื™ืกื’ืึทื ื’ ืคื•ืŸ ื“ื™ ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทืŸ ืžืึธื“ืข ื‘ืขืฉืึทืก ืงื•ืจืฅ-ื˜ืขืจืžื™ืŸ ืกืขืจื“ื–ืฉื–.

hbase.lru.cache.heavy.eviction.overhead.coefficient - ืฉื˜ืขืœื˜ ื•ื•ื™ ื’ืขืฉื•ื•ื™ื ื“ ืžื™ืจ ื•ื•ืึธืœื˜ ื•ื•ื™ ืฆื• ื‘ืึทืงื•ืžืขืŸ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜. ืื•ื™ื‘ ืžื™ืจ ื•ื•ื™ืกืŸ ืคึฟืึทืจ ื–ื™ื›ืขืจ ืึทื– ืื•ื ื“ื–ืขืจ ืœื™ื™ืขื ืขืŸ ื–ืขื ืขืŸ ืžืขืจืกื˜ื ืก ืœืึทื ื’ ืื•ืŸ ื˜ืึธืŸ ื ื™ืฉื˜ ื•ื•ืขืœืŸ ืฆื• ื•ื•ืึทืจื˜ืŸ, ืžื™ืจ ืงืขื ืขืŸ ืคืึทืจื’ืจืขืกืขืจืŸ ื“ืขื ืคืึทืจื”ืขืœื˜ืขื ื™ืฉ ืื•ืŸ ื‘ืึทืงื•ืžืขืŸ ื”ื•ื™ืš ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคืึทืกื˜ืขืจ.

ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืžื™ืจ ืฉื˜ืขืœืŸ ื“ืขื ืงืึธื•ืึทืคื™ืฉืึทื ื˜ = 0.01. ื“ืขื ืžื™ื˜ืœ ืึทื– ืึธื•ื•ืขืจื”ืขืึทื“ (ื–ืขืŸ ืื•ื™ื‘ืŸ) ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขืžืขืจื˜ ืžื™ื˜ ื“ืขื ื ื•ืžืขืจ ื“ื•ืจืš ื“ื™ ืจื™ื–ืึทืœื˜ื™ื ื’ ืจืขื–ื•ืœื˜ืึทื˜ ืื•ืŸ ื“ืขืจ ืคึผืจืึธืฆืขื ื˜ ืคื•ืŸ ืงืึทืฉื˜ ื‘ืœืึทืงืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืจื™ื“ื•ืกื˜. ืœืึธืžื™ืจ ื™ื‘ืขืจื ืขืžืขืŸ ืึทื– ืึธื•ื•ืขืจื”ืขืึทื“ = 300% ืื•ืŸ ืงืึธื•ืึทืคื™ืฉืึทื ื˜ = 0.01, ื“ืขืžืึธืœื˜ ื“ืขืจ ืคึผืจืึธืฆืขื ื˜ ืคื•ืŸ ืงืึทืฉื˜ ื‘ืœืึทืงืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืจื™ื“ื•ืกื˜ ืžื™ื˜ 3%.

ื ืขื ืœืขืš "ื‘ืึทืงืงืคึผืจืขืกืกื•ืจืข" ืœืึธื’ื™ืง ืื™ื– ืื•ื™ืš ื™ืžืคึผืœืึทืžืขื ืึทื“ ืคึฟืึทืจ ื ืขื’ืึทื˜ื™ื•ื• ืึธื•ื•ืขืจื”ืขืึทื“ (ืึธื•ื•ืขืจืฉืึธืึธื˜ื™ื ื’) ื•ื•ืึทืœื•ืขืก. ื–ื™ื ื˜ ืงื•ืจืฅ-ื˜ืขืจืžื™ืŸ ืคืœืึทืงื˜ืฉื•ื™ื™ืฉืึทื ื– ืื™ืŸ ื“ื™ ื‘ืึทื ื“ ืคื•ืŸ ืœื™ื™ืขื ืขืŸ ืื•ืŸ ื™ื•ื•ื™ืงืฉืึทื ื– ื–ืขื ืขืŸ ืฉื˜ืขื ื“ื™ืง ืžืขื’ืœืขืš, ื“ืขื ืžืขืงืึทื ื™ื–ืึทื ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื•ื™ืกืžื™ื™ื“ืŸ ืฆื• ืคืจื™ ืึทืจื•ื™ืกื’ืึทื ื’ ืคื•ืŸ ื“ื™ ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทืŸ ืžืึธื“ืข. ื‘ืึทืงืงืคึผืจืขืกืกื•ืจืข ื”ืื˜ ืึท ื™ื ื•ื•ืขืจื˜ื™ื“ ืœืึธื’ื™ืง: ื“ื™ ืฉื˜ืืจืงืขืจ ื“ื™ ืึธื•ื•ื•ืขืจืฉืึธืึธื˜ื™ื ื’, ื“ื™ ืžืขืจ ื‘ืœืึทืงืก ื–ืขื ืขืŸ ืงืึทืฉื˜.

ื•ื•ื™ ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ืœื™ื™ืขื ืขืŸ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ 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. ืœืึธืžื™ืจ ืึธื ื”ื™ื™ื‘ืŸ ืกืงืึทืŸ (25 ืคึฟืขื“ืขื, ืคึผืขืงืœ = 100)
  2. ื ืึธืš 5 ืžื™ื ื•ื˜, ืœื™ื™ื’ืŸ ืžืึทืœื˜ื™-ื’ืขืฅ (25 ืคึฟืขื“ืขื, ืคึผืขืงืœ = 100)
  3. ื ืึธืš 5 ืžื™ื ื•ื˜, ืงืขืจ ืึทื•ื•ืขืง ืžื•ืœื˜ื™-ื’ืขืฅ (ื‘ืœื•ื™ื– ื™ื‘ืขืจืงื•ืงืŸ ื‘ืœื™ื™ื‘ื˜ ื•ื•ื™ื“ืขืจ)

ืžื™ืจ ื˜ืึธืŸ ืฆื•ื•ื™ื™ ืจืึทื ื–, ืขืจืฉื˜ืขืจ hbase.lru.cache.heavy.eviction.count.limit = 10000 (ื•ื•ืึธืก ืึทืงื˜ืฉืึทื•ื•ืึทืœื™ ื“ื™ืกื™ื™ื‘ืึทืœื– ื“ื™ ืฉื˜ืจื™ืš), ืื•ืŸ ื“ืขืžืึธืœื˜ ืฉื˜ืขืœืŸ ืœื™ืžื™ื˜ = 0 (ืขื ื™ื™ื‘ืึทืœื– ืขืก).

ืื™ืŸ ื“ื™ ืœืึธื’ืก ืื•ื ื˜ืŸ ืžื™ืจ ื–ืขืŸ ื•ื•ื™ ื“ื™ ืฉื˜ืจื™ืš ืื™ื– ืื•ื™ืกื’ืขื“ืจื™ื™ื˜ ืื•ื™ืฃ ืื•ืŸ ืจื™ืกืขื˜ ืึธื•ื•ืขืจืฉืึธืึธื˜ื™ื ื’ ืฆื• 14-71%. ืคื•ืŸ ืฆื™ื™ื˜ ืฆื• ืฆื™ื™ื˜ ื“ื™ ืžืึทืกืข ื“ื™ืงืจื™ืกืึทื–, ื•ื•ืึธืก ื˜ื•ืจื ืก ืื•ื™ืฃ ื‘ืึทืงืงืคึผืจืขืกืกื•ืจืข ืื•ืŸ HBase ืงืึทืฉ ืžืขืจ ื‘ืœืึทืงืก ื•ื•ื™ื“ืขืจ.

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

ื“ื™ ืกืงืึทื ื– ื–ืขื ืขืŸ ื“ืืจืฃ ืฆื• ื•ื•ื™ื™ึทื–ืŸ ื“ื™ ื–ืขืœื‘ืข ืคึผืจืึธืฆืขืก ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ืึท ื’ืจืึทืคื™ืง ืคื•ืŸ ื“ื™ ืฉื™ื™ื›ื•ืช ืฆื•ื•ื™ืฉืŸ ืฆื•ื•ื™ื™ ืงืึทืฉ ืกืขืงืฉืึทื ื– - ืื™ื™ืŸ (ื•ื•ื• ื‘ืœืึทืงืก ื•ื•ืึธืก ื”ืึธื‘ืŸ ืงื™ื™ื ืžืึธืœ ื’ืขื•ื•ืขืŸ ื’ืขื‘ืขื˜ืŸ ืคืจื™ืขืจ) ืื•ืŸ ืžื•ืœื˜ื™ (ื“ืึทื˜ืึท "ื’ืขื‘ืขื˜ืŸ" ืื™ืŸ ืžื™ื ื“ืกื˜ืขืจ ืึทืžืึธืœ ื–ืขื ืขืŸ ืกื˜ืึธืจื“ ื“ืึธ):

ื•ื•ื™ ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ืœื™ื™ืขื ืขืŸ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ HBase ืึทืจื•ื™ืฃ ืฆื• 3 ืžืืœ ืื•ืŸ ืคื•ืŸ HDFS ืึทืจื•ื™ืฃ ืฆื• 5 ืžืืœ

ืื•ืŸ ืœืขืกืึธืฃ, ื•ื•ื™ ื“ื™ ืึธืคึผืขืจืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืงื•ืง ื•ื•ื™ ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ืึท ื’ืจืึทืคื™ืง. ืคึฟืึทืจ ืคืึทืจื’ืœื™ื™ึทืš, ื“ื™ ืงืึทืฉ ืื™ื– ื’ืึธืจ ืื•ื™ืกื’ืขื“ืจื™ื™ื˜ ืื™ืŸ ื“ื™ ืึธื ื”ื™ื™ื‘, ืื•ืŸ HBase ืื™ื– ืœืึธื ื˜ืฉื˜ ืžื™ื˜ ืงืึทื˜ืฉื™ื ื’ ืื•ืŸ ืคืึทืจื”ืึทืœื˜ืŸ ื“ื™ ืึธื ื”ื™ื™ื‘ ืคื•ืŸ ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทืŸ ืึทืจื‘ืขื˜ ืžื™ื˜ 5 ืžื™ื ื•ื˜ (30 ื™ื•ื•ื™ืงืฉืึทืŸ ืกื™ื™ืงืึทืœื–).

ื’ืึทื ืฅ ืงืึธื“ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืคึฟื•ื ืขืŸ ืื™ืŸ Pull Request HBASE 23887 ืื•ื™ืฃ ื’ื™ื˜ื”ื•ื‘.

ืึธื‘ืขืจ, 300 ื˜ื•ื™ื–ื ื˜ ืœื™ื™ืขื ืขืŸ ืคึผืขืจ ืกืขืงื•ื ื“ืข ืื™ื– ื ื™ื˜ ืึทืœืข ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืึทื˜ืฉื™ื•ื•ื“ ืื•ื™ืฃ ื“ืขื ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืื•ื ื˜ืขืจ ื“ื™ ื‘ืื“ื™ื ื’ื•ื ื’ืขืŸ. ื“ืขืจ ืคืึทืงื˜ ืื™ื– ืึทื– ื•ื•ืขืŸ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืึทืงืกืขืก ื“ืึทื˜ืŸ ื“ื•ืจืš HDFS, ื“ื™ ShortCircuitCache (ื“ืขืจื ืึธืš ืจื™ืคืขืจื“ ืฆื• ื•ื•ื™ SSC) ืžืขืงืึทื ื™ื–ืึทื ืื™ื– ื’ืขื ื™ืฆื˜, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืึทืงืกืขืก ื“ื™ ื“ืึทื˜ืŸ ื’ืœื™ื™ึทืš, ื•ื™ืกืžื™ื™ื“ืŸ ื ืขืฅ ื™ื ื˜ืขืจืึทืงืฉืึทื ื–.

ืคึผืจืึธืคื™ืœื™ื ื’ ื”ืึธื˜ ื’ืขื•ื•ื™ื–ืŸ ืึทื– ื›ืึธื˜ืฉ ื“ืขืจ ืžืขืงืึทื ื™ื–ืึทื ื’ื™ื˜ ืึท ื’ืจื•ื™ืก ื’ืขื•ื•ื™ื ืก, ืขืก ืื•ื™ืš ืื™ืŸ ืขื˜ืœืขื›ืข ืคื•ื ื˜ ื•ื•ืขืจื˜ ืึท ื‘ืึทื˜ืึทืœื ืขืง, ื•ื•ื™ื™ึทืœ ื›ึผืžืขื˜ ืึทืœืข ืฉื•ื•ืขืจ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืคืึทืœืŸ ืื™ืŸ ืึท ืฉืœืึธืก, ื•ื•ืึธืก ืคื™ืจื˜ ืฆื• ื‘ืœืึทืงื™ื ื’ ืจื•ื‘ึฟ ืคื•ืŸ ื“ื™ ืฆื™ื™ื˜.

ื•ื•ื™ ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ืœื™ื™ืขื ืขืŸ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ 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 ืงื‘ ื‘ืœืึทืงืก ืžื™ื˜ ืื™ื™ืŸ ืงืึทืฉ ืจื™ืงื•ื•ื™ื™ืขืจื– 78 ืกืขืงื•ื ื“ืขืก. ืžื™ื˜ 5 ืงืึทื˜ืฉืขืก ืขืก ื ืขืžื˜ 16 ืกืขืงื•ื ื“ืขืก. ื™ืขื ืข. ืขืก ืื™ื– ืึท ืึทืงืกืขืœืขืจื™ื™ืฉืึทืŸ ืคื•ืŸ ~ 5 ืžืืœ. ื•ื•ื™ ืžืขืŸ ื–ืขื”ื˜ ืคื•ืŸ ื“ื™ ื’ืจืืค ืื™ื– ื“ื™ ื•ื•ื™ืจืงื•ื ื’ ื ื™ืฉื˜ ื–ืขื”ืจ ื‘ืืžืขืจืงื˜ ื‘ื™ื™ ื ืงืœื™ื™ื ืข ืฆืืœ ืคืืจืืœืขืœ ืœื™ื™ื–, ืขืก ื”ื™ื™ื‘ื˜ ืืŸ ืฆื• ืฉืคื™ืœืŸ ื ื‘ืืžืขืจืงื–ืืžืข ืจืืœืข ื•ื•ืขืŸ ืขืก ื–ืขื ืขืŸ ืคืืจืืŸ ืžืขืจ ื•ื•ื™ 50 ืคืึธื“ืขื ืœื™ื™ืขื ื˜, ืขืก ืื™ื– ืื•ื™ืš ื‘ืืžืขืจืงื–ืื ืื– ืžืขืŸ ื–ืืœ ืคืืจื’ืจืขืกืขืจืŸ ื“ื™ ืฆืืœ SSC ืคื•ืŸ 6 ืื•ืŸ ืื•ื™ื‘ืŸ ื’ื™ื˜ ืึท ื‘ืื˜ื™ื™ื˜ื™ืง ืงืœืขื ืขืจืขืจ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคืึทืจื’ืจืขืกืขืจืŸ.

ื‘ืึทืžืขืจืงื•ื ื’ 1: ื–ื™ื ื˜ ื“ื™ ืคึผืจืึธื‘ืข ืจืขื–ื•ืœื˜ืึทื˜ืŸ ื–ืขื ืขืŸ ื’ืึทื ืฅ ื•ื•ืึทืœืึทื˜ืึทืœ (ื–ืขืŸ ื•ื•ื™ื™ื˜ืขืจ), 3 ืจืึทื ื– ื–ืขื ืขืŸ ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ืื•ืŸ ื“ื™ ืจื™ื–ืึทืœื˜ื™ื ื’ ื•ื•ืึทืœื•ืขืก ื–ืขื ืขืŸ ืึทื•ื•ืจื™ื“ื–ืฉื“.

ื‘ืึทืžืขืจืงื•ื ื’ 2: ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ื’ืขื•ื•ื™ื ืขืŸ ืคื•ืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื ื’ ื˜ืจืึทืค ืึทืงืกืขืก ืื™ื– ื“ื™ ื–ืขืœื‘ืข, ื›ืึธื˜ืฉ ื“ื™ ืึทืงืกืขืก ื–ื™ืš ืื™ื– ืึท ื‘ื™ืกืœ ืกืœืึธื•ืขืจ.

ืึธื‘ืขืจ, ืขืก ืื™ื– ื ื™ื™ื˜ื™ืง ืฆื• ื“ืขืจืงืœืขืจืŸ ืึทื–, ื ื™ื˜ ืขื ืœืขืš ื“ืขื ืคืึทืœ ืžื™ื˜ HBase, ื“ื™ ืึทืงืกืขืœืขืจื™ื™ืฉืึทืŸ ืื™ื– ื ื™ื˜ ืฉื˜ืขื ื“ื™ืง ืคืจื™ื™. ื“ืึธ ืžื™ืจ "ื•ืคืฉืœื™ืกืŸ" ื“ื™ ืงืคึผื• ืก ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืึทืจื‘ืขื˜ืŸ ืžืขืจ, ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ื›ืึทื ื’ื’ื™ื ื’ ืื•ื™ืฃ ืœืึทืงืก.

ื•ื•ื™ ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ืœื™ื™ืขื ืขืŸ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ HBase ืึทืจื•ื™ืฃ ืฆื• 3 ืžืืœ ืื•ืŸ ืคื•ืŸ HDFS ืึทืจื•ื™ืฃ ืฆื• 5 ืžืืœ

ื“ืึธ ืื™ืจ ืงืขื ืขืŸ ืึธื‘ืกืขืจื•ื•ื™ืจืŸ ืึทื–, ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, ืึท ืคืึทืจื’ืจืขืกืขืจืŸ ืื™ืŸ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืงืึทื˜ืฉืขืก ื’ื™ื˜ ืึท ื‘ืขืขืจืขืš ืคึผืจืึทืคึผืึธืจืฉืึทื ืึทืœ ืคืึทืจื’ืจืขืกืขืจืŸ ืื™ืŸ ืงืคึผื• ื™ื•ื˜ืึทืœืึทื–ื™ื™ืฉืึทืŸ. ืึธื‘ืขืจ, ืขืก ื–ืขื ืขืŸ ืึท ื‘ื™ืกืœ ืžืขืจ ื•ื•ื™ื ื™ื ื’ ืงืึทืžื‘ืึทื ื™ื™ืฉืึทื ื–.

ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืœืึธื–ืŸ ืก ื ืขืžืขืŸ ืึท ื ืขืขื ื˜ืขืจ ืงื•ืง ื‘ื™ื™ึท ื“ื™ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ SSC = 3. ื“ื™ ืคืึทืจื’ืจืขืกืขืจืŸ ืื™ืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื•ื™ืฃ ื“ื™ ืงื™ื™ื˜ ืื™ื– ื•ื•ืขื’ืŸ 3.3 ืžืืœ. ื•ื ื˜ืขืจ ื–ืขื ืขืŸ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ืคื•ืŸ ืึทืœืข ื“ืจื™ื™ ื‘ืึทื–ื•ื ื“ืขืจ ืจืึทื ื–.

ื•ื•ื™ ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ืœื™ื™ืขื ืขืŸ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ HBase ืึทืจื•ื™ืฃ ืฆื• 3 ืžืืœ ืื•ืŸ ืคื•ืŸ HDFS ืึทืจื•ื™ืฃ ืฆื• 5 ืžืืœ

ื‘ืฉืขืช ืงืคึผื• ืงืึทื ืกืึทืžืฉืึทืŸ ื™ื ืงืจื™ืกื™ื– ืžื™ื˜ ื•ื•ืขื’ืŸ 2.8 ืžืืœ. ื“ืขืจ ื—ื™ืœื•ืง ืื™ื– ื ื™ืฉื˜ ื–ื™ื™ืขืจ ื’ืจื•ื™ืก, ืึธื‘ืขืจ ื“ื™ ืงืœื™ื™ืŸ ื’ืจืขื˜ืึท ืื™ื– ืฉื•ื™ืŸ ืฆื•ืคืจื™ื“ืŸ ืื•ืŸ ืงืขืŸ ื”ืึธื‘ืŸ ืฆื™ื™ื˜ ืฆื• ื’ื™ื™ืŸ ืื™ืŸ ืฉื•ืœืข ืื•ืŸ ื ืขืžืขืŸ ืœืขืงืฆื™ืขืก.

ืื–ื•ื™, ื“ืึธืก ื•ื•ืขื˜ ื”ืึธื‘ืŸ ืึท positive ื•ื•ื™ืจืงื•ื ื’ ืคึฟืึทืจ ืงื™ื™ืŸ ื’ืขืฆื™ื™ึทื’ ื•ื•ืึธืก ื ื™ืฆื˜ ืคืึทืจื ืขื ืึทืงืกืขืก ืฆื• HDFS (ืœืžืฉืœ ืกืคึผืึทืจืง, ืืื–"ื• ื•), ืฆื•ื’ืขืฉื˜ืขืœื˜ ืึทื– ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืงืึธื“ ืื™ื– ืœื™ื™ื˜ื•ื•ื™ื™ื˜ (ื“"ื” ื“ื™ ืฆืึทืคึผืŸ ืื™ื– ืื•ื™ืฃ ื“ื™ HDFS ืงืœื™ืขื ื˜ ื–ื™ื™ึทื˜) ืื•ืŸ ืขืก ืื™ื– ืคืจื™ื™ ืงืคึผื• ืžืึทื›ื˜. . ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ, ืœืึธืžื™ืจ ืคึผืจื•ื‘ื™ืจืŸ ื•ื•ืึธืก ื•ื•ื™ืจืงื•ื ื’ ื“ื™ ืงืึทืžื‘ื™ื™ื ื“ ื ื•ืฆืŸ ืคื•ืŸ BlockCache ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทืŸ ืื•ืŸ SSC ื˜ื•ื ื™ื ื’ ืคึฟืึทืจ ืœื™ื™ืขื ืขืŸ ืคึฟื•ืŸ HBase ื•ื•ืขื˜ ื”ืึธื‘ืŸ.

ื•ื•ื™ ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ืœื™ื™ืขื ืขืŸ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ HBase ืึทืจื•ื™ืฃ ืฆื• 3 ืžืืœ ืื•ืŸ ืคื•ืŸ HDFS ืึทืจื•ื™ืฃ ืฆื• 5 ืžืืœ

ืขืก ืงืขืŸ ื–ื™ื™ืŸ ื’ืขื–ืขืŸ ืึทื– ืื•ื ื˜ืขืจ ืึทื–ืึท ื˜ื ืึธื™ื ื“ื™ ื•ื•ื™ืจืงื•ื ื’ ืื™ื– ื ื™ืฉื˜ ื•ื•ื™ ื’ืจื•ื™ืก ื•ื•ื™ ืื™ืŸ ืจืึทืคื™ื ื™ืจื˜ ื˜ืขืกืฅ (ืœื™ื™ืขื ืขืŸ ืึธืŸ ืงื™ื™ืŸ ืคึผืจืึทืกืขืกื™ื ื’), ืึธื‘ืขืจ ืขืก ืื™ื– ื’ืึทื ืฅ ืžืขื’ืœืขืš ืฆื• ืงื•ื•ืขื˜ืฉืŸ ื ืึธืš 80K ื“ืึธ. ืฆื•ื–ืึทืžืขืŸ, ื‘ื™ื™ื“ืข ืึธืคึผื˜ื™ืžื™ื–ืึทื˜ื™ืึธื ืก ืฆื•ืฉื˜ืขืœืŸ ืึทืจื•ื™ืฃ ืฆื• 4 ืงืก ืกืคึผื™ื“ืึทืคึผ.

ื ืคึผืจ ืื™ื– ืื•ื™ืš ื’ืขืžืื›ื˜ ืคึฟืึทืจ ื“ืขื ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทืŸ [HDFS-15202], ื•ื•ืึธืก ืื™ื– ื’ืขื•ื•ืขืŸ ืžืขืจื“ื–ืฉื“ ืื•ืŸ ื“ื™ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื‘ืืจืขื›ื˜ื™ื’ื˜ ืื™ืŸ ืฆื•ืงื•ื ืคึฟื˜ ืจื™ืœื™ืกื™ื–.

ืื•ืŸ ืœืขืกืึธืฃ, ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ื˜ืฉื™ืงืึทื•ื•ืข ืฆื• ืคืึทืจื’ืœื™ื™ึทื›ืŸ ื“ื™ ืœื™ื™ืขื ืขืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ืึท ืขื ืœืขืš ื‘ืจื™ื™ื˜-ื–ื™ื™ึทืœ ื“ืึทื˜ืึทื‘ื™ื™ืก, Cassandra ืื•ืŸ HBase.

ืฆื• ื˜ืึธืŸ ื“ืึธืก, ืžื™ืจ ืœืึธื ื˜ืฉื˜ ื™ื ืกื˜ืึทื ืกื™ื– ืคื•ืŸ ื“ื™ ื ืึธืจืžืึทืœ YCSB ืžืึทืกืข ื˜ืขืกื˜ื™ื ื’ ื ื•ืฆืŸ ืคื•ืŸ ืฆื•ื•ื™ื™ ืžื—ื ื•ืช (800 ืคึฟืขื“ืขื ืื™ืŸ ื’ืึทื ืฅ). ืื•ื™ืฃ ื“ื™ ืกืขืจื•ื•ืขืจ ื–ื™ื™ึทื˜ - 4 ื™ื ืกื˜ืึทื ืกื™ื– ืคื•ืŸ RegionServer ืื•ืŸ Cassandra ืื•ื™ืฃ 4 ืžื—ื ื•ืช (ื ื™ืฉื˜ ื“ื™ ื•ื•ืึธืก ื“ื™ ืงืœื™ื™ืึทื ืฅ ืœื•ื™ืคืŸ, ืฆื• ื•ื™ืกืžื™ื™ื“ืŸ ื–ื™ื™ืขืจ ื”ืฉืคึผืขื”). ืจื™ื“ื™ื ื’ื– ื’ืขืงื•ืžืขืŸ ืคื•ืŸ ื˜ื™ืฉืŸ ืคื•ืŸ ื’ืจื™ื™ืก:

HBase - 300 GB ืื•ื™ืฃ HDFS (100 GB ืจื™ื™ืŸ ื“ืึทื˜ืŸ)

ืงืึทืกืกืึทื ื“ืจืึท - 250 ื’ื™ื’ืื‘ื™ื™ื˜ (ืจืขืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคืึทืงื˜ืึธืจ = 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 ืœืึธื’ืก ื–ืขื ืขืŸ ืคึผืึทืจืกืขื“ ืื•ืŸ ืงืึทืžืคึผื™ื™ืœื“ ืื™ืŸ ืขืงืกืกืขืœ ื’ืจืึทืคืก:

ื•ื•ื™ ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ืœื™ื™ืขื ืขืŸ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ HBase ืึทืจื•ื™ืฃ ืฆื• 3 ืžืืœ ืื•ืŸ ืคื•ืŸ HDFS ืึทืจื•ื™ืฃ ืฆื• 5 ืžืืœ

ื•ื•ื™ ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ, ื“ื™ ืึธืคึผื˜ื™ืžื™ื–ืึทื˜ื™ืึธื ืก ืžืึทื›ืŸ ืขืก ืžืขื’ืœืขืš ืฆื• ืคืึทืจื’ืœื™ื™ึทื›ืŸ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื– ืื•ื ื˜ืขืจ ื“ื™ ื‘ืื“ื™ื ื’ื•ื ื’ืขืŸ ืื•ืŸ ื“ืขืจื’ืจื™ื™ื›ืŸ 450 ื˜ื•ื™ื–ื ื˜ ืœื™ื™ืขื ืขืŸ ืคึผืขืจ ืกืขืงื•ื ื“ืข.

ืžื™ืจ ื”ืึธืคืŸ ืึทื– ื“ื™ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืงืขืŸ ื–ื™ื™ืŸ ื ื•ืฆื™ืง ืคึฟืึทืจ ืขืžืขืฆืขืจ ื‘ืขืฉืึทืก ื“ื™ ื™ืงืกื™ื™ื˜ื™ื ื’ ื’ืขืจืึทื ื’ืœ ืคึฟืึทืจ ืคึผืจืึธื•ื“ืึทืงื˜ื™ื•ื•ื™ื˜ื™.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’