HBase เจคเฉ‹เจ‚ 3 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจ…เจคเฉ‡ HDFS เจคเฉ‹เจ‚ 5 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจชเฉœเฉเจนเจจ เจฆเฉ€ เจ—เจคเฉ€ เจ•เจฟเจตเฉ‡เจ‚ เจตเจงเจพเจˆ เจœเจพเจตเฉ‡

เจตเฉฑเจกเฉ‡ เจกเฉ‡เจŸเจพ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจ‰เฉฑเจš เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจฎเฉเฉฑเจ– เจฒเฉ‹เฉœเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจนเฉˆเฅค Sberbank 'เจคเฉ‡ เจกเจพเจŸเจพ เจฒเฉ‹เจกเจฟเฉฐเจ— เจตเจฟเจญเจพเจ— เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจฒเจ—เจญเจ— เจธเจพเจฐเฉ‡ เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจจเฉ‚เฉฐ เจธเจพเจกเฉ‡ Hadoop-เจ…เจงเจพเจฐเจฟเจค เจกเจพเจŸเจพ เจ•เจฒเจพเจŠเจก เจตเจฟเฉฑเจš เจชเฉฐเจช เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจ‡เจธเจฒเจˆ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเฉ‡ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจตเฉฑเจกเฉ‡ เจชเฉเจฐเจตเจพเจน เจจเจพเจฒ เจจเจœเจฟเฉฑเจ เจฆเฉ‡ เจนเจพเจ‚เฅค เจ•เฉเจฆเจฐเจคเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡, เจ…เจธเฉ€เจ‚ เจนเจฎเฉ‡เจธเจผเจพ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจจเฉ‚เฉฐ เจฌเจฟเจนเจคเจฐ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ‡ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจฆเฉ€ เจญเจพเจฒ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจ…เจคเฉ‡ เจนเฉเจฃ เจ…เจธเฉ€เจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเฉฑเจธเจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจฐเฉ€เจœเจจเจธเจฐเจตเจฐ HBase เจ…เจคเฉ‡ HDFS เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจชเฉˆเจš เจ•เจฐเจจ เจฒเจˆ เจ•เจฟเจตเฉ‡เจ‚ เจชเฉเจฐเจฌเฉฐเจงเจฟเจค เจ•เฉ€เจคเจพ, เจœเจฟเจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจฐเฉ€เจก เจ“เจชเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจ—เจคเฉ€ เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจฃ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹เจ เจนเจพเจ‚เฅค
HBase เจคเฉ‹เจ‚ 3 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจ…เจคเฉ‡ HDFS เจคเฉ‹เจ‚ 5 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจชเฉœเฉเจนเจจ เจฆเฉ€ เจ—เจคเฉ€ เจ•เจฟเจตเฉ‡เจ‚ เจตเจงเจพเจˆ เจœเจพเจตเฉ‡

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจธเฉเจงเจพเจฐเจพเจ‚ เจฆเฉ‡ เจคเฉฑเจค 'เจคเฉ‡ เจœเจพเจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจ‡เจน เจชเจพเจฌเฉฐเจฆเฉ€เจ†เจ‚ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉˆ เจœเฉ‹, เจธเจฟเจงเจพเจ‚เจคเจ• เจคเฉŒเจฐ 'เจคเฉ‡, เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจเจšเจกเฉ€เจกเฉ€' เจคเฉ‡ เจฌเฉˆเจ เจฆเฉ‡ เจนเฉ‹ เจคเจพเจ‚ เจ‡เจธ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฟเจ† เจจเจนเฉ€เจ‚ เจœเจพ เจธเจ•เจฆเจพ.

HDD เจ…เจคเฉ‡ เจคเฉ‡เจœเจผ เจฐเฉˆเจ‚เจกเจฎ เจเจ•เจธเฉˆเจธ เจฐเฉ€เจกเจธ เจ…เจธเฉฐเจ—เจค เจ•เจฟเจ‰เจ‚ เจนเจจ
เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจœเจพเจฃเจฆเฉ‡ เจนเฉ‹, HBase, เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ, เจ†เจ•เจพเจฐ เจตเจฟเฉฑเจš เจ•เจˆ เจฆเจธ เจ•เจฟเจฒเฉ‹เจฌเจพเจˆเจŸ เจฆเฉ‡ เจฌเจฒเจพเจ•เจพเจ‚ เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจธเจŸเฉ‹เจฐ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เจน เจฒเจ—เจญเจ— 64 KB เจนเฉˆเฅค เจนเฉเจฃ เจ•เจฒเจชเจจเจพ เจ•เจฐเฉ€เจ เจ•เจฟ เจธเจพเจจเฉ‚เฉฐ เจธเจฟเจฐเจซ 100 เจฌเจพเจˆเจŸเจธ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ HBase เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ–เจพเจธ เจ•เฉเฉฐเจœเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ‡เจน เจกเฉ‡เจŸเจพ เจฆเฉ‡เจฃ เจฒเจˆ เจ•เจนเจฟเฉฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ HFiles เจตเจฟเฉฑเจš เจฌเจฒเจพเจ• เจฆเจพ เจ†เจ•เจพเจฐ 64 KB เจนเฉˆ, เจฌเฉ‡เจจเจคเฉ€ เจฒเฉ‹เฉœ เจจเจพเจฒเฉ‹เจ‚ 640 เจ—เฉเจฃเจพ เจตเฉฑเจกเฉ€ (เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจฎเจฟเฉฐเจŸ!) เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค

เจ…เฉฑเจ—เฉ‡, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฌเฉ‡เจจเจคเฉ€ HDFS เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจฎเฉˆเจŸเจพเจกเฉ‡เจŸเจพ เจ•เฉˆเจšเจฟเฉฐเจ— เจตเจฟเจงเฉ€ เจฐเจพเจนเฉ€เจ‚ เจœเจพเจตเฉ‡เจ—เฉ€ เจธเจผเจพเจฐเจŸ เจธเจฐเจ•เจŸ เจ•เฉˆเจš (เจœเฉ‹ เจซเจพเจˆเจฒเจพเจ‚ เจคเฉฑเจ• เจธเจฟเฉฑเจงเฉ€ เจชเจนเฉเฉฐเจš เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ), เจ‡เจน เจกเจฟเจธเจ• เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ 1 MB เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจ เจตเฉฑเจฒ เจฒเฉˆ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เจธ เจจเฉ‚เฉฐ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจจเจพเจฒ เจเจกเจœเจธเจŸ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ dfs.client.read.shortcircuit.buffer.size เจ…เจคเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจ‡เจธ เจฎเฉเฉฑเจฒ เจจเฉ‚เฉฐ เจ˜เจŸเจพเจ‰เจฃ เจฆเจพ เจฎเจคเจฒเจฌ เจฌเจฃเจฆเจพ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ 126 KB เจคเฉฑเจ•เฅค

เจฎเฉฐเจจ เจฒเจ“ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ…เจœเจฟเจนเจพ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจชเจฐ เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจœเจฆเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ FileChannel.read เจตเจฐเจ—เฉ‡ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ, java api เจฐเจพเจนเฉ€เจ‚ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจจเจฟเจฐเจงเจพเจฐเจค เจฎเจพเจคเจฐเจพ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจ เจฒเจˆ เจ•เจนเจฟเฉฐเจฆเฉ‡ เจนเจพเจ‚, เจคเจพเจ‚ เจ‡เจน 2 เจ—เฉเจฃเจพ เจœเจผเจฟเจ†เจฆเจพ "เจธเจฟเจฐเจซเจผ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš" เจ˜เจŸเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค , i.e. เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš 256 KB. เจ‡เจน เจ‡เจธ เจฒเจˆ เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจœเจพเจตเจพ เจ•เฉ‹เจฒ เจ‡เจธ เจตเจฟเจตเจนเจพเจฐ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฃ เจฒเจˆ FADV_RANDOM เจซเจฒเฉˆเจ— เจธเฉˆเฉฑเจŸ เจ•เจฐเจจ เจฆเจพ เจ†เจธเจพเจจ เจคเจฐเฉ€เจ•เจพ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจธเจพเจกเฉ‡ 100 เจฌเจพเจˆเจŸเจธ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ, เจนเฉเฉฑเจก เจฆเฉ‡ เจนเฉ‡เจ เจพเจ‚ 2600 เจ—เฉเจฃเจพ เจœเจผเจฟเจ†เจฆเจพ เจชเฉœเฉเจนเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ. เจ…เจœเจฟเจนเจพ เจฒเจ—เจฆเจพ เจนเฉˆ เจ•เจฟ เจนเฉฑเจฒ เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆ, เจ†เจ“ เจฌเจฒเจพเจ• เจฆเฉ‡ เจ†เจ•เจพเจฐ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ•เจฟเจฒเฉ‹เจฌเจพเจˆเจŸ เจคเฉฑเจ• เจ˜เจŸเจพเจˆเจ, เจœเจผเจฟเจ•เจฐ เจ•เฉ€เจคเฉ‡ เจเฉฐเจกเฉ‡ เจจเฉ‚เฉฐ เจธเฉˆเจŸ เจ•เจฐเฉ€เจ เจ…เจคเฉ‡ เจฎเจนเจพเจจ เจ—เจฟเจ†เจจ เจชเฉเจฐเจตเฉ‡เจ— เจชเฉเจฐเจพเจชเจค เจ•เจฐเฉ€เจเฅค เจชเจฐ เจฎเฉเจธเฉ€เจฌเจค เจ‡เจน เจนเฉˆ เจ•เจฟ เจฌเจฒเจพเจ• เจฆเฉ‡ เจ†เจ•เจพเจฐ เจจเฉ‚เฉฐ 2 เจ—เฉเจฃเจพ เจ˜เจŸเจพ เจ•เฉ‡, เจ…เจธเฉ€เจ‚ เจธเจฎเฉ‡เจ‚ เจฆเฉ€ เจชเฉเจฐเจคเฉ€ เจฏเฉ‚เจจเจฟเจŸ เจฐเฉ€เจก เจฌเจพเจˆเจŸเจธ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเฉ€ 2 เจ—เฉเจฃเจพ เจ˜เจŸเจพ เจฆเจฟเฉฐเจฆเฉ‡ เจนเจพเจ‚เฅค

FADV_RANDOM เจซเจฒเฉˆเจ— เจจเฉ‚เฉฐ เจธเฉˆเจŸ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจ•เฉเจ เจฒเจพเจญ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจชเจฐ เจธเจฟเจฐเจซ เจ‰เฉฑเจš เจฎเจฒเจŸเฉ€-เจฅเฉเจฐเฉˆเจกเจฟเฉฐเจ— เจ…เจคเฉ‡ 128 KB เจฆเฉ‡ เจฌเจฒเจพเจ• เจ†เจ•เจพเจฐ เจจเจพเจฒ, เจชเจฐ เจ‡เจน เจตเฉฑเจง เจคเฉ‹เจ‚ เจตเฉฑเจง เจ•เฉเจ เจชเฉเจฐเจคเฉ€เจธเจผเจค เจนเฉˆ:

HBase เจคเฉ‹เจ‚ 3 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจ…เจคเฉ‡ HDFS เจคเฉ‹เจ‚ 5 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจชเฉœเฉเจนเจจ เจฆเฉ€ เจ—เจคเฉ€ เจ•เจฟเจตเฉ‡เจ‚ เจตเจงเจพเจˆ เจœเจพเจตเฉ‡

เจŸเฉˆเจธเจŸ 100 เจซเจพเจˆเจฒเจพเจ‚ 'เจคเฉ‡ เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเจจ, เจนเจฐเฉ‡เจ• เจฆเจพ เจ†เจ•เจพเจฐ 1 GB เจนเฉˆ เจ…เจคเฉ‡ 10 HDDs 'เจคเฉ‡ เจธเจฅเจฟเจค เจนเฉˆเฅค

เจ†เจ“ เจ…เจธเฉ€เจ‚ เจ‡เจธ เจ—เจคเฉ€ 'เจคเฉ‡, เจธเจฟเจงเจพเจ‚เจคเจ• เจคเฉŒเจฐ 'เจคเฉ‡, เจ…เจธเฉ€เจ‚ เจ•เฉ€ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจฆเฉ€ เจ—เจฃเจจเจพ เจ•เจฐเฉ€เจ:
เจฎเฉฐเจจ เจฒเจ“ เจ•เจฟ เจ…เจธเฉ€เจ‚ 10 เจกเจฟเจธเจ•เจพเจ‚ เจคเฉ‹เจ‚ 280 MB/sec เจฆเฉ€ เจ—เจคเฉ€ เจจเจพเจฒ เจชเฉœเฉเจนเจฆเฉ‡ เจนเจพเจ‚, เจฏเจพเจจเฉ€. 3 เจฎเจฟเจฒเฉ€เจ…เจจ เจ—เฉเจฃเจพ 100 เจฌเจพเจˆเจŸเฅค เจชเจฐ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจธเจพเจจเฉ‚เฉฐ เจฏเจพเจฆ เจนเฉˆ, เจธเจพเจจเฉ‚เฉฐ เจœเฉ‹ เจกเฉ‡เจŸเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ‰เจน เจชเฉœเฉเจนเฉ‡ เจœเจพเจฃ เจจเจพเจฒเฉ‹เจ‚ 2600 เจ—เฉเจฃเจพ เจ˜เฉฑเจŸ เจนเฉˆเฅค เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจ…เจธเฉ€เจ‚ 3 เจฎเจฟเจฒเฉ€เจ…เจจ เจจเฉ‚เฉฐ 2600 เจจเจพเจฒ เจตเฉฐเจกเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ 1100 เจฐเจฟเจ•เจพเจฐเจก เจชเฉเจฐเจคเฉ€ เจธเจ•เจฟเฉฐเจŸเฅค

เจจเจฟเจฐเจพเจธเจผเจพเจœเจจเจ•, เจนเฉˆ เจจเจพ? เจ‡เจน เจ•เฉเจฆเจฐเจค เจนเฉˆ เจฐเฉˆเจ‚เจกเจฎ เจเจ•เจธเฉˆเจธ HDD 'เจคเฉ‡ เจกเฉ‡เจŸเจพ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš - เจฌเจฒเจพเจ• เจ†เจ•เจพเจฐ เจฆเฉ€ เจชเจฐเจตเจพเจน เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚เฅค เจ‡เจน เจฌเฉ‡เจคเจฐเจคเฉ€เจฌเฉ‡ เจชเจนเฉเฉฐเจš เจฆเฉ€ เจญเฉŒเจคเจฟเจ• เจธเฉ€เจฎเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ•เฉ‹เจˆ เจตเฉ€ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจนเฉ‹เจฐ เจจเจฟเจšเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจซเจฟเจฐ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจธเจชเฉ€เจก เจ•เจฟเจตเฉ‡เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ‡ เจนเจจ? เจ‡เจธ เจธเจตเจพเจฒ เจฆเจพ เจœเจตเจพเจฌ เจฆเฉ‡เจฃ เจฒเจˆ, เจ†เจ“ เจฆเฉ‡เจ–เฉ€เจ เจ•เจฟ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจคเจธเจตเฉ€เจฐ เจตเจฟเฉฑเจš เจ•เฉ€ เจนเฉ‹ เจฐเจฟเจนเจพ เจนเฉˆ:

HBase เจคเฉ‹เจ‚ 3 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจ…เจคเฉ‡ HDFS เจคเฉ‹เจ‚ 5 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจชเฉœเฉเจนเจจ เจฆเฉ€ เจ—เจคเฉ€ เจ•เจฟเจตเฉ‡เจ‚ เจตเจงเจพเจˆ เจœเจพเจตเฉ‡

เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจชเจนเจฟเจฒเฉ‡ เจ•เฉเจ เจฎเจฟเฉฐเจŸเจพเจ‚ เจฆเฉ€ เจ—เจคเฉ€ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจชเฉเจฐเจคเฉ€ เจธเจ•เจฟเฉฐเจŸ เจ‡เฉฑเจ• เจนเจœเจผเจพเจฐ เจฐเจฟเจ•เจพเจฐเจก เจนเฉˆเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ…เฉฑเจ—เฉ‡, เจ‡เจธ เจคเฉฑเจฅ เจฆเฉ‡ เจ•เจพเจฐเจจ เจ•เจฟ เจฌเฉ‡เจจเจคเฉ€ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€ เจจเจพเจฒเฉ‹เจ‚ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจชเฉœเฉเจนเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจกเฉ‡เจŸเจพ เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ (เจฒเฉ€เจจเจ•เจธ) เจฆเฉ‡ เจฌเฉฑเจซ/เจ•เฉˆเจธเจผ เจตเจฟเฉฑเจš เจ–เจคเจฎ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ—เจคเฉ€ เจตเฉฑเจง เจ•เฉ‡ 60 เจนเจœเจผเจพเจฐ เจชเฉเจฐเจคเฉ€ เจธเจ•เจฟเฉฐเจŸ เจคเฉฑเจ• เจตเฉฑเจง เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค

เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจ…เฉฑเจ—เฉ‡ เจ…เจธเฉ€เจ‚ เจธเจฟเจฐเจซ เจ‰เจนเจจเจพเจ‚ เจกเฉ‡เจŸเจพ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผ เจ•เจฐเจจ เจจเจพเจฒ เจจเจœเจฟเฉฑเจ เจพเจ‚เจ—เฉ‡ เจœเฉ‹ OS เจ•เฉˆเจธเจผ เจตเจฟเฉฑเจš เจนเจจ เจœเจพเจ‚ เจคเฉเจฒเจจเจพเจคเจฎเจ• เจเจ•เจธเฉˆเจธ เจธเจชเฉ€เจก เจฆเฉ‡ SSD / NVMe เจธเจŸเฉ‹เจฐเฉ‡เจœ เจตเจฟเฉฑเจš เจธเจฅเจฟเจค เจนเจจเฅค

เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ 4 เจธเจฐเจตเจฐเจพเจ‚ เจฆเฉ‡ เจฌเฉˆเจ‚เจš 'เจคเฉ‡ เจŸเฉˆเจธเจŸเจพเจ‚ เจฆเจพ เจ†เจฏเฉ‹เจœเจจ เจ•เจฐเจพเจ‚เจ—เฉ‡, เจœเจฟเจจเฉเจนเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจนเจฐเฉ‡เจ• เจจเฉ‚เฉฐ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ‡ เจ…เจจเฉเจธเจพเจฐ เจšเจพเจฐเจœ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ:

CPU: Xeon E5-2680 v4 @ 2.40GHz 64 เจฅเฉเจฐเฉˆเฉฑเจกเจธเฅค
เจฎเฉˆเจฎเฉ‹เจฐเฉ€: 730 เจœเฉ€.เจฌเฉ€.
java เจธเฉฐเจธเจ•เจฐเจฃ: 1.8.0_111

เจ…เจคเฉ‡ เจ‡เฉฑเจฅเฉ‡ เจฎเฉเฉฑเจ– เจฌเจฟเฉฐเจฆเฉ‚ เจŸเฉ‡เจฌเจฒ เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจฆเฉ€ เจฎเจพเจคเจฐเจพ เจนเฉˆ เจœเจฟเจธเจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ. เจคเฉฑเจฅ เจ‡เจน เจนเฉˆ เจ•เจฟ เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจŸเฉ‡เจฌเจฒ เจคเฉ‹เจ‚ เจกเฉ‡เจŸเจพ เจชเฉœเฉเจนเจฆเฉ‡ เจนเฉ‹ เจœเฉ‹ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ HBase เจ•เฉˆเจธเจผ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจฆเฉ‡ เจฌเฉฑเจซ/เจ•เฉˆเจธเจผ เจคเฉ‹เจ‚ เจชเฉœเฉเจนเจจ เจฒเจˆ เจตเฉ€ เจจเจนเฉ€เจ‚ เจ†เจตเฉ‡เจ—เจพเฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ HBase เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš 40% เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจจเฉ‚เฉฐ เจฌเจฒเจพเจ•เจ•เฉˆเจš เจจเจพเจฎเจ• เจขเจพเจ‚เจšเฉ‡ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ‡เจน เจ‡เฉฑเจ• ConcurrentHashMap เจนเฉˆ, เจœเจฟเฉฑเจฅเฉ‡ เจ•เฉเฉฐเจœเฉ€ เจฌเจฒเจพเจ• เจฆเจพ เจซเจพเจˆเจฒ เจจเจพเจฎ + เจ†เจซเจธเฉˆเฉฑเจŸ เจนเฉˆ, เจ…เจคเฉ‡ เจฎเฉเฉฑเจฒ เจ‡เจธ เจ†เจซเจธเฉˆเฉฑเจŸ 'เจคเฉ‡ เจ…เจธเจฒ เจกเฉ‡เจŸเจพ เจนเฉˆเฅค

เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจœเจฆเฉ‹เจ‚ เจธเจฟเจฐเจซ เจ‡เจธ เจขเจพเจ‚เจšเฉ‡ เจคเฉ‹เจ‚ เจชเฉœเฉเจนเจฆเฉ‡ เจนเจพเจ‚, เจ…เจธเฉ€เจ‚ เจ…เจธเฉ€เจ‚ เจธเจผเจพเจจเจฆเจพเจฐ เจ—เจคเฉ€ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเจพเจ‚, เจชเฉเจฐเจคเฉ€ เจธเจ•เจฟเฉฐเจŸ เจ‡เฉฑเจ• เจฎเจฟเจฒเฉ€เจ…เจจ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจตเจพเจ‚เจ—เฅค เจชเจฐ เจ†เจ“ เจ•เจฒเจชเจจเจพ เจ•เจฐเฉ€เจ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจธเจฟเจฐเจซเจผ เจกเจพเจŸเจพเจฌเฉ‡เจธ เจฆเฉ€เจ†เจ‚ เจฒเฉ‹เฉœเจพเจ‚ เจฒเจˆ เจธเฉˆเจ‚เจ•เฉœเฉ‡ เจ—เฉ€เจ—เจพเจฌเจพเจˆเจŸ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจจเจฟเจฐเจงเจพเจฐเจค เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจนเจจเจพเจ‚ เจธเจฐเจตเจฐเจพเจ‚ 'เจคเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจนเฉ‹เจฐ เจ‰เจชเจฏเฉ‹เจ—เฉ€ เจšเฉ€เจœเจผเจพเจ‚ เจšเฉฑเจฒ เจฐเจนเฉ€เจ†เจ‚ เจนเจจเฅค

เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• RS เจ‰เฉฑเจคเฉ‡ เจฌเจฒเจพเจ•เจ•เฉˆเจš เจฆเฉ€ เจฎเจพเจคเจฐเจพ เจฒเจ—เจญเจ— 12 GB เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจจเฉ‹เจก 'เจคเฉ‡ เจฆเฉ‹ เจ†เจฐเจเจธ เจ‰เจคเจพเจฐเฉ‡, i.e. เจธเจพเจฐเฉ‡ เจจเฉ‹เจกเจพเจ‚ 'เจคเฉ‡ เจฌเจฒเจพเจ•เจ•เฉˆเจš เจฒเจˆ 96 GB เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค เจ…เจคเฉ‡ เจ‡เฉฑเจฅเฉ‡ เจ•เจˆ เจ—เฉเจฃเจพ เจœเจผเจฟเจ†เจฆเจพ เจกเฉ‡เจŸเจพ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เจธ เจจเฉ‚เฉฐ 4 เจŸเฉ‡เจฌเจฒ, 130 เจ–เฉ‡เจคเจฐ เจนเจฐเฉ‡เจ• เจตเจฟเฉฑเจš เจนเฉ‹เจฃ เจฆเจฟเจ“, เจœเจฟเจธ เจตเจฟเฉฑเจš เจซเจพเจˆเจฒเจพเจ‚ เจฆเจพ เจ†เจ•เจพเจฐ 800 MB เจนเฉˆ, FAST_DIFF เจฆเฉเจ†เจฐเจพ เจธเฉฐเจ•เฉเจšเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจฏเจพเจจเฉ€. เจ•เฉเฉฑเจฒ 410 GB (เจ‡เจน เจธเจผเฉเฉฑเจง เจกเฉ‡เจŸเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจ•เจพเจฐเจ• เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เฉ‡ เจฌเจฟเจจเจพเจ‚)เฅค

เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจฌเจฒเจพเจ•เจ•เฉˆเจš เจ•เฉเฉฑเจฒ เจกเจพเจŸเจพ เจตเจพเจฒเฉ€เจ…เจฎ เจฆเจพ เจธเจฟเจฐเจซ 23% เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจน เจฌเจฟเจ—เจกเจพเจŸเจพ เจ•เจนเฉ‡ เจœเจพเจฃ เจตเจพเจฒเฉ€เจ†เจ‚ เจ…เจธเจฒ เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจฆเฉ‡ เจฌเจนเฉเจค เจจเฉ‡เฉœเฉ‡ เจนเฉˆเฅค เจ…เจคเฉ‡ เจ‡เจน เจ‰เจน เจฅเจพเจ‚ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ เจฎเจœเจผเฉ‡ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ - เจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเจชเฉฑเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡, เจ˜เฉฑเจŸ เจ•เฉˆเจธเจผ เจนเจฟเฉฑเจŸ, เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจ“เจจเจพ เจนเฉ€ เจฌเฉเจฐเจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจ†เจ–เจผเจฐเจ•เจพเจฐ, เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ–เฉเฉฐเจ เจœเจพเจ‚เจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฌเจนเฉเจค เจธเจพเจฐเจพ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจชเจเจ—เจพ - เจฏเจพเจจเฉ€. เจ•เจพเจฒเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ 'เจคเฉ‡ เจนเฉ‡เจ เจพเจ‚ เจœเจพเจ“เฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจšเจฟเจ† เจจเจนเฉ€เจ‚ เจœเจพ เจธเจ•เจฆเจพ, เจ‡เจธ เจฒเจˆ เจ†เจ“ เจ‡เฉฑเจ• เจฌเจฟเจฒเจ•เฉเจฒ เจตเฉฑเจ–เจฐเฉ‡ เจชเจนเจฟเจฒเฉ‚ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ€เจ - เจ•เฉˆเจธเจผ เจฆเฉ‡ เจ…เฉฐเจฆเจฐเจฒเฉ‡ เจกเฉ‡เจŸเจพ เจฆเจพ เจ•เฉ€ เจนเฉเฉฐเจฆเจพ เจนเฉˆ?

เจ†เจ‰ เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจธเจฐเจฒ เจ•เจฐเฉ€เจ เจ…เจคเฉ‡ เจ‡เจน เจฎเฉฐเจจเฉ€เจ เจ•เจฟ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจ•เฉˆเจธเจผ เจนเฉˆ เจœเฉ‹ เจธเจฟเจฐเจซ 1 เจตเจธเจคเฉ‚ เจจเฉ‚เฉฐ เจซเจฟเฉฑเจŸ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจฅเฉ‡ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจนเฉˆ เจ•เจฟ เจ•เฉ€ เจนเฉ‹เจตเฉ‡เจ—เจพ เจœเจฆเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจ•เฉˆเจธเจผ เจคเฉ‹เจ‚ 3 เจ—เฉเจฃเจพ เจตเฉฑเจกเฉ‡ เจกเฉ‡เจŸเจพ เจตเจพเจฒเฉ€เจ…เจฎ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจธเจพเจจเฉ‚เฉฐ เจ‡เจน เจ•เจฐเจจเจพ เจชเจตเฉ‡เจ—เจพ:

1. เจฌเจฒเจพเจ• 1 เจจเฉ‚เฉฐ เจ•เฉˆเจธเจผ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เฉ‹
2. เจ•เฉˆเจธเจผ เจคเฉ‹เจ‚ เจฌเจฒเจพเจ• 1 เจจเฉ‚เฉฐ เจนเจŸเจพเจ“
3. เจฌเจฒเจพเจ• 2 เจจเฉ‚เฉฐ เจ•เฉˆเจธเจผ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เฉ‹
4. เจ•เฉˆเจธเจผ เจคเฉ‹เจ‚ เจฌเจฒเจพเจ• 2 เจจเฉ‚เฉฐ เจนเจŸเจพเจ“
5. เจฌเจฒเจพเจ• 3 เจจเฉ‚เฉฐ เจ•เฉˆเจธเจผ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เฉ‹

5 เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจชเฉ‚เจฐเฉ€เจ†เจ‚ เจนเฉ‹เจˆเจ†เจ‚! เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจ†เจฎ เจจเจนเฉ€เจ‚ เจ•เจฟเจนเจพ เจœเจพ เจธเจ•เจฆเจพ; เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ HBase เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฌเฉ‡เจ•เจพเจฐ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจฎเจœเจฌเฉ‚เจฐ เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚เฅค เจ‡เจน OS เจ•เฉˆเจธเจผ เจคเฉ‹เจ‚ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจฒเจ—เจพเจคเจพเจฐ เจชเฉœเฉเจนเจฆเจพ เจนเฉˆ, เจ‡เจธเจจเฉ‚เฉฐ เจฌเจฒเจพเจ•เจ•เฉˆเจธเจผ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ, เจธเจฟเจฐเจซ เจ‡เจธเจจเฉ‚เฉฐ เจฒเจ—เจญเจ— เจคเฉเจฐเฉฐเจค เจฌเจพเจนเจฐ เจธเฉเฉฑเจŸเจฃ เจฒเจˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจกเฉ‡เจŸเจพ เจฆเจพ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจนเจฟเฉฑเจธเจพ เจ† เจ—เจฟเจ† เจนเฉˆเฅค เจชเฉ‹เจธเจŸ เจฆเฉ‡ เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš เจเจจเฉ€เจฎเฉ‡เจธเจผเจจ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจธเจพเจฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ - เจ—เจพเจฐเจฌเฉ‡เจœ เจ•เฉเจฒเฉˆเจ•เจŸเจฐ เจชเฉˆเจฎเจพเจจเฉ‡ 'เจคเฉ‡ เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆ, เจฎเจพเจนเฉŒเจฒ เจ—เจฐเจฎ เจนเฉ‹ เจฐเจฟเจนเจพ เจนเฉˆ, เจฆเฉ‚เจฐ เจ…เจคเฉ‡ เจ—เจฐเจฎ เจธเจตเฉ€เจกเจจ เจตเจฟเฉฑเจš เจ›เฉ‹เจŸเฉ€ เจ—เฉเจฐเฉ‡เจŸเจพ เจชเจฐเฉ‡เจธเจผเจพเจจ เจนเฉ‹ เจฐเจนเฉ€ เจนเฉˆเฅค เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ IT เจฒเฉ‹เจ• เจธเฉฑเจšเจฎเฉเฉฑเจš เจ‡เจธ เจจเฉ‚เฉฐ เจชเจธเฉฐเจฆ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡ เจœเจฆเฉ‹เจ‚ เจฌเฉฑเจšเฉ‡ เจ‰เจฆเจพเจธ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจ‡เจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจธเฉ‹เจšเจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจฆเจฟเฉฐเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจ•เฉ€ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค

เจ‰เจฆเฉ‹เจ‚ เจ•เฉ€ เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจธเจพเจฐเฉ‡ เจฌเจฒเจพเจ•เจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉˆเจธเจผ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจฐเฉฑเจ–เจฆเฉ‡, เจชเจฐ เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจจเจฟเจธเจผเจšเจฟเจค เจชเฉเจฐเจคเฉ€เจธเจผเจค, เจคเจพเจ‚ เจœเฉ‹ เจ•เฉˆเจธเจผ เจ“เจตเจฐเจซเจฒเฉ‹ เจจเจพ เจนเฉ‹เจตเฉ‡? เจ†เจ‰ เจฌเจฒเจพเจ•เจ•เฉˆเจš เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจชเจพเจ‰เจฃ เจฒเจˆ เจซเฉฐเจ•เจธเจผเจจ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจตเจฟเฉฑเจš เจ•เฉ‹เจก เจฆเฉ€เจ†เจ‚ เจ•เฉเจ เจฒเจพเจˆเจจเจพเจ‚ เจœเฉ‹เฉœ เจ•เฉ‡ เจธเจผเฉเจฐเฉ‚เจ†เจค เจ•เจฐเฉ€เจ:

  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 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจชเฉœเฉเจนเจจ เจฆเฉ€ เจ—เจคเฉ€ เจ•เจฟเจตเฉ‡เจ‚ เจตเจงเจพเจˆ เจœเจพเจตเฉ‡

เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚, CPU เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจตเจงเจฆเฉ€ เจนเฉˆ, เจชเจฐ เจ‰เจคเจชเจพเจฆเจ•เจคเจพ เจจเจพเจฒเฉ‹เจ‚ เจฌเจนเฉเจค เจ˜เฉฑเจŸ เจนเฉˆ:

HBase เจคเฉ‹เจ‚ 3 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจ…เจคเฉ‡ HDFS เจคเฉ‹เจ‚ 5 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจชเฉœเฉเจนเจจ เจฆเฉ€ เจ—เจคเฉ€ เจ•เจฟเจตเฉ‡เจ‚ เจตเจงเจพเจˆ เจœเจพเจตเฉ‡

เจ‡เจน เจตเฉ€ เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฏเฉ‹เจ— เจนเฉˆ เจ•เจฟ เจฌเจฒเจพเจ•เจ•เฉˆเจš เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ‡ เจฌเจฒเจพเจ• เจตเฉฑเจ–เจฐเฉ‡ เจนเจจเฅค เจœเจผเจฟเจ†เจฆเจพเจคเจฐ, เจฒเจ—เจญเจ— 95%, เจ†เจชเจฃเฉ‡ เจ†เจช เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจนเฉˆเฅค เจ…เจคเฉ‡ เจฌเจพเจ•เฉ€ เจฎเฉˆเจŸเจพเจกเฉ‡เจŸเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฌเจฒเฉ‚เจฎ เจซเจฟเจฒเจŸเจฐ เจœเจพเจ‚ LEAF_INDEX เจ…เจคเฉ‡ เจ†เจฆเจฟ. เจ‡เจน เจกเฉ‡เจŸเจพ เจ•เจพเจซเจผเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจชเจฐ เจ‡เจน เจฌเจนเฉเจค เจ‰เจชเจฏเฉ‹เจ—เฉ€ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจธเจฟเฉฑเจงเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจเจ•เจธเฉˆเจธ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, HBase เจ‡เจน เจธเจฎเจเจฃ เจฒเจˆ เจฎเฉˆเจŸเจพ เจตเฉฑเจฒ เจฎเฉเฉœเจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เฉ€ เจ‡เฉฑเจฅเฉ‡ เจนเฉ‹เจฐ เจ–เฉ‹เจœ เจ•เจฐเจจเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ เจ…เจคเฉ‡, เจœเฉ‡ เจ…เจœเจฟเจนเจพ เจนเฉˆ, เจคเจพเจ‚ เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฆเจพ เจฌเจฒเจพเจ• เจ•เจฟเฉฑเจฅเฉ‡ เจธเจฅเจฟเจค เจนเฉˆ.

เจ‡เจธ เจฒเจˆ, เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจœเจพเจ‚เจš เจธเจฅเจฟเจคเฉ€ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเจพเจ‚ buf.getBlockType().isData() เจ…เจคเฉ‡ เจ‡เจธ เจฎเฉˆเจŸเจพ เจฒเจˆ เจงเฉฐเจจเจตเจพเจฆ, เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจ•เฉˆเจธเจผ เจตเจฟเฉฑเจš เจ›เฉฑเจก เจฆเฉ‡เจตเจพเจ‚เจ—เฉ‡เฅค

เจ†เจ‰ เจนเฉเจฃ เจฒเฉ‹เจก เจจเฉ‚เฉฐ เจตเจงเจพ เจฆเฉ‡เจˆเจ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจตเจพเจฐ เจตเจฟเฉฑเจš เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจจเฉ‚เฉฐ เจฅเฉ‹เฉœเฉเจนเจพ เจœเจฟเจนเจพ เจ•เฉฑเจธ เจฆเฉ‡เจˆเจเฅค เจชเจนเจฟเจฒเฉ‡ เจŸเฉˆเจธเจŸ เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจ•เจŸเฉŒเจซ เจชเฉเจฐเจคเฉ€เจธเจผเจค = 20 เจฌเจฃเจพเจ‡เจ† เจ…เจคเฉ‡ เจฌเจฒเจพเจ•เจ•เฉˆเจธเจผ เจจเฉ‚เฉฐ เจฅเฉ‹เฉœเฉเจนเจพ เจ˜เฉฑเจŸ เจ‰เจชเจฏเฉ‹เจ— เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค เจ†เจ‰ เจนเฉเจฃ เจ‡เจธเจจเฉ‚เฉฐ 23% เจคเฉ‡ เจธเฉˆเจŸ เจ•เจฐเฉ€เจ เจ…เจคเฉ‡ เจนเจฐ 100 เจฎเจฟเฉฐเจŸ เจตเจฟเฉฑเจš 5 เจฅเฉเจฐเฉˆเฉฑเจก เจœเฉ‹เฉœเฉ€เจ เจคเจพเจ‚ เจ•เจฟ เจ‡เจน เจฆเฉ‡เจ–เจฃ เจฒเจˆ เจ•เจฟ เจธเฉฐเจคเฉเจฐเจฟเจชเจคเจพ เจ•เจฟเจธ เจฌเจฟเฉฐเจฆเฉ‚ เจคเฉ‡ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ:

HBase เจคเฉ‹เจ‚ 3 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจ…เจคเฉ‡ HDFS เจคเฉ‹เจ‚ 5 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจชเฉœเฉเจนเจจ เจฆเฉ€ เจ—เจคเฉ€ เจ•เจฟเจตเฉ‡เจ‚ เจตเจงเจพเจˆ เจœเจพเจตเฉ‡

เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ…เจธเจฒ เจธเฉฐเจธเจ•เจฐเจฃ เจฒเจ—เจญเจ— เจคเฉเจฐเฉฐเจค เจชเฉเจฐเจคเฉ€ เจธเจ•เจฟเฉฐเจŸ เจฒเจ—เจญเจ— 100 เจนเจœเจผเจพเจฐ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ 'เจคเฉ‡ เจ›เฉฑเจค เจจเฉ‚เฉฐ เจฎเจพเจฐเจฆเจพ เจนเฉˆเฅค เจœเจฆเฉ‹เจ‚ เจ•เจฟ เจชเฉˆเจš 300 เจนเจœเจผเจพเจฐ เจคเฉฑเจ• เจฆเจพ เจชเฉเจฐเจตเฉ‡เจ— เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจ‡เจธเจฆเฉ‡ เจจเจพเจฒ เจนเฉ€, เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆ เจ•เจฟ เจนเฉ‹เจฐ เจชเฉเจฐเจตเฉ‡เจ— เจนเฉเจฃ เจ‡เฉฐเจจเจพ "เจฎเฉเจซเจผเจค" เจจเจนเฉ€เจ‚ เจนเฉˆ; CPU เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจตเฉ€ เจตเจง เจฐเจนเฉ€ เจนเฉˆ.

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เจน เจ‡เฉฑเจ• เจฌเจนเฉเจค เจนเฉ€ เจธเจผเจพเจจเจฆเจพเจฐ เจนเฉฑเจฒ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจจเจนเฉ€เจ‚ เจœเจพเจฃเจฆเฉ‡ เจ•เจฟ เจ•เจฟเฉฐเจจเฉ‡ เจชเฉเจฐเจคเฉ€เจธเจผเจค เจฌเจฒเจพเจ•เจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉˆเจธเจผ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจ‡เจน เจฒเฉ‹เจก เจชเฉเจฐเฉ‹เจซเจพเจˆเจฒ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เจธเจฒเจˆ, เจฐเฉ€เจกเจฟเฉฐเจ— เจ“เจชเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจ—เจคเฉ€เจตเจฟเจงเฉ€ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจ‡เจธ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจจเฉ‚เฉฐ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ•เจฒเฉ€ เจ…เจจเฉเจ•เฉ‚เจฒ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจตเจฟเจงเฉ€ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€เฅค

เจ‡เจธ เจจเฉ‚เฉฐ เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจ•เจฐเจจ เจฒเจˆ เจคเจฟเฉฐเจจ เจตเจฟเจ•เจฒเจช เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ:

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 MB เจธเฉˆเฉฑเจŸ เจ•เจฐเจจเจพ เจ…เจจเฉเจ•เฉ‚เจฒ เจนเฉˆเฅค เจฎเฉฑเจง เจตเจฐเจ— (~10 เจ•เฉ‹เจฐ) เจฒเจˆ 200-300 MBเฅค เจ•เจฎเจœเจผเฉ‹เจฐ เจธเจฟเจธเจŸเจฎเจพเจ‚ (2-5 เจ•เฉ‹เจฐ) เจฒเจˆ 50-100 MB เจ†เจฎ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ (เจ‡เจจเฉเจนเจพเจ‚ 'เจคเฉ‡ เจŸเฉˆเจธเจŸ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ†)เฅค

เจ†เจ“ เจฆเฉ‡เจ–เฉ€เจ เจ•เจฟ เจ‡เจน เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ: เจฎเฉฐเจจ เจฒเจ“ เจ…เจธเฉ€เจ‚ hbase.lru.cache.heavy.eviction.mb.size.limit = 500 เจธเฉˆเจŸ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจ‡เฉฑเจฅเฉ‡ เจ•เฉเจ เจ•เจฟเจธเจฎ เจฆเจพ เจฒเฉ‹เจก (เจชเฉœเฉเจนเจจ) เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจซเจฟเจฐ เจนเจฐ ~10 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจ—เจฃเจจเจพ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ•เจฟเฉฐเจจเฉ‡ เจฌเจพเจˆเจŸ เจธเจจ เจซเจพเจฐเจฎเฉ‚เจฒเฉ‡ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฌเฉ‡เจฆเจ–เจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ†:

เจ“เจตเจฐเจนเฉˆเฉฑเจก = เจซเฉเจฐเฉ€เจก เจฌเจพเจˆเจŸ เจœเฉ‹เฉœ (MB) * 100 / เจธเฉ€เจฎเจพ (MB) - 100;

เจœเฉ‡เจ•เจฐ เจ…เจธเจฒ เจตเจฟเฉฑเจš 2000 MB เจจเฉ‚เฉฐ เจฌเฉ‡เจฆเจ–เจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€, เจคเจพเจ‚ เจ“เจตเจฐเจนเฉˆเฉฑเจก เจ‡เจธเจฆเฉ‡ เจฌเจฐเจพเจฌเจฐ เจนเฉˆ:

2000 * 100 / 500 - 100 = 300%

เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจ•เฉเจ เจฆเจธเจพเจ‚ เจชเฉเจฐเจคเฉ€เจธเจผเจค เจคเฉ‹เจ‚ เจตเฉฑเจง เจจเจนเฉ€เจ‚ เจฐเฉฑเจ–เจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจฆเฉ‡ เจนเจจ, เจ‡เจธเจฒเจˆ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจ•เฉˆเจธเจผ เจ•เฉ€เจคเฉ‡ เจฌเจฒเจพเจ•เจพเจ‚ เจฆเฉ€ เจชเฉเจฐเจคเฉ€เจธเจผเจค เจจเฉ‚เฉฐ เจ˜เจŸเจพ เจฆเฉ‡เจตเฉ‡เจ—เฉ€, เจœเจฟเจธ เจจเจพเจฒ เจ‡เฉฑเจ• เจ†เจŸเฉ‹-เจŸเจฟเจŠเจจเจฟเฉฐเจ— เจตเจฟเจงเฉ€ เจฒเจพเจ—เฉ‚ เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจœเฉ‡เจ•เจฐ เจฒเฉ‹เจก เจ˜เฉฑเจŸ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจฎเฉฐเจจ เจฒเจ“ เจ•เจฟ เจธเจฟเจฐเจซ 200 MB เจจเฉ‚เฉฐ เจฌเฉ‡เจฆเจ–เจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจ“เจตเจฐเจนเฉˆเฉฑเจก เจจเจ•เจพเจฐเจพเจคเจฎเจ• เจฌเจฃ เจœเจพเจ‚เจฆเจพ เจนเฉˆ (เจ…เจ–เฉŒเจคเฉ€ เจ“เจตเจฐเจธเจผเฉ‚เจŸเจฟเฉฐเจ—):

200 * 100 / 500 - 100 = -60%

เจ‡เจธ เจฆเฉ‡ เจ‰เจฒเจŸ, เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจ•เฉˆเจธเจผ เจ•เฉ€เจคเฉ‡ เจฌเจฒเจพเจ•เจพเจ‚ เจฆเฉ€ เจชเฉเจฐเจคเฉ€เจธเจผเจคเจคเจพ เจจเฉ‚เฉฐ เจตเจงเจพเจเจ—เฉ€ เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจ“เจตเจฐเจนเฉˆเฉฑเจก เจธเจ•เจพเจฐเจพเจคเจฎเจ• เจจเจนเฉ€เจ‚ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ.

เจนเฉ‡เจ เจพเจ‚ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจนเฉˆ เจ•เจฟ เจ‡เจน เจ…เจธเจฒ เจกเฉ‡เจŸเจพ 'เจคเฉ‡ เจ•เจฟเจตเฉ‡เจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค 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 เจฆเฉเจฌเจพเจฐเจพ เจนเฉ‹เจฐ เจฌเจฒเจพเจ•เจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉˆเจš เจ•เจฐเจฆเจพ เจนเฉˆเฅค

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

เจฆเฉ‹ เจ•เฉˆเจธเจผ เจญเจพเจ—เจพเจ‚ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจธเจฌเฉฐเจง เจฆเฉ‡ เจ—เฉเจฐเจพเจซ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เฉฑเจ•เฉ‹ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจฆเจฟเจ–เจพเจ‰เจฃ เจฒเจˆ เจธเจ•เฉˆเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจธเฉ€ - เจธเจฟเฉฐเจ—เจฒ (เจœเจฟเฉฑเจฅเฉ‡ เจฌเจฒเจพเจ• เจœเจฟเจจเฉเจนเจพเจ‚ เจฆเฉ€ เจชเจนเจฟเจฒเจพเจ‚ เจ•เจฆเฉ‡ เจฌเฉ‡เจจเจคเฉ€ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€) เจ…เจคเฉ‡ เจฎเจฒเจŸเฉ€ (เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจ‡เฉฑเจ• เจตเจพเจฐ "เจฌเฉ‡เจจเจคเฉ€ เจ•เฉ€เจคเฉ€ เจ—เจˆ" เจกเฉ‡เจŸเจพ เจ‡เฉฑเจฅเฉ‡ เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ):

HBase เจคเฉ‹เจ‚ 3 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจ…เจคเฉ‡ HDFS เจคเฉ‹เจ‚ 5 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจชเฉœเฉเจนเจจ เจฆเฉ€ เจ—เจคเฉ€ เจ•เจฟเจตเฉ‡เจ‚ เจตเจงเจพเจˆ เจœเจพเจตเฉ‡

เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจฆเจพ เจธเฉฐเจšเจพเจฒเจจ เจ‡เฉฑเจ• เจ—เฉเจฐเจพเจซ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ•เจฟเจตเฉ‡เจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ. เจคเฉเจฒเจจเจพ เจฒเจˆ, เจ•เฉˆเจธเจผ เจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฌเฉฐเจฆ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจธเฉ€, เจซเจฟเจฐ HBase เจจเฉ‚เฉฐ เจ•เฉˆเจšเจฟเฉฐเจ— เจฆเฉ‡ เจจเจพเจฒ เจฒเจพเจ‚เจš เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€ เจ…เจคเฉ‡ 5 เจฎเจฟเฉฐเจŸ (30 เจฌเฉ‡เจฆเจ–เจฒเฉ€ เจšเฉฑเจ•เจฐ) เจฆเฉเจ†เจฐเจพ เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจ เจ•เฉฐเจฎ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจตเจฟเฉฑเจš เจฆเฉ‡เจฐเฉ€ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€เฅค

เจชเฉ‚เจฐเจพ เจ•เฉ‹เจก เจชเฉเฉฑเจฒ เจฌเฉ‡เจจเจคเฉ€ เจตเจฟเฉฑเจš เจชเจพเจ‡เจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ HBASE 23887 github 'เจคเฉ‡.

เจนเจพเจฒเจพเจ‚เจ•เจฟ, 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 KB เจฌเจฒเจพเจ•เจพเจ‚ เจตเจฟเฉฑเจš 64 เจนเจœเจผเจพเจฐ เจฐเฉ€เจกเจœเจผ เจฒเจˆ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจŸเจพเจˆเจฎ 78 เจธเจ•เจฟเฉฐเจŸ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจœเจฆเฉ‹เจ‚ เจ•เจฟ 5 เจ•เฉˆเจšเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ‡เจธ เจจเฉ‚เฉฐ 16 เจธเจ•เจฟเฉฐเจŸ เจฆเจพ เจธเจฎเจพเจ‚ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆเฅค เจ‰เจน. เจ‡เฉฑเจฅเฉ‡ ~ 5 เจ—เฉเจฃเจพ เจฆเจพ เจชเฉเจฐเจตเฉ‡เจ— เจนเฉˆเฅค เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ—เฉเจฐเจพเจซ เจคเฉ‹เจ‚ เจฆเฉ‡เจ–เจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจธเจฎเจพเจ‚เจคเจฐ เจฐเฉ€เจกเจœเจผ เจฆเฉ€ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเฉ€ เจœเจฟเจนเฉ€ เจธเฉฐเจ–เจฟเจ† เจฒเจˆ เจชเฉเจฐเจญเจพเจต เจฌเจนเฉเจค เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฏเฉ‹เจ— เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ; เจ‡เจน เจ‡เฉฑเจ• เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฏเฉ‹เจ— เจญเฉ‚เจฎเจฟเจ•เจพ เจจเจฟเจญเจพเจ‰เจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ 50 เจคเฉ‹เจ‚ เจตเฉฑเจง เจฅเฉเจฐเฉˆเจก เจฐเฉ€เจก เจนเฉเฉฐเจฆเฉ‡ เจนเจจเฅค เจ‡เจน เจตเฉ€ เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฏเฉ‹เจ— เจนเฉˆ เจ•เจฟ 6 เจคเฉ‹เจ‚ เจเจธเจเจธเจธเฉ€ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจง เจฐเจนเฉ€ เจนเฉˆ. เจ…เจคเฉ‡ เจ‰เฉฑเจชเจฐ เจ‡เฉฑเจ• เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจคเฉŒเจฐ 'เจคเฉ‡ เจ›เฉ‹เจŸเจพ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจตเจพเจงเจพ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค

เจจเฉ‹เจŸ 1: เจ•เจฟเจ‰เจ‚เจ•เจฟ เจŸเฉˆเจธเจŸ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจ•เจพเจซเจผเฉ€ เจ…เจธเจฅเจฟเจฐ เจนเจจ (เจนเฉ‡เจ เจพเจ‚ เจฆเฉ‡เจ–เฉ‹), 3 เจฆเฉŒเฉœเจพเจ‚ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจธเจจ เจ…เจคเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจฎเฉเฉฑเจฒ เจ”เจธเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเจจเฅค

เจจเฉ‹เจŸ 2: เจฌเฉ‡เจคเจฐเจคเฉ€เจฌ เจชเจนเฉเฉฐเจš เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจฒเจพเจญ เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเจพ เจนเฉˆ, เจนเจพเจฒเจพเจ‚เจ•เจฟ เจชเจนเฉเฉฐเจš เจ†เจชเจฃเฉ‡ เจ†เจช เจตเจฟเฉฑเจš เจฅเฉ‹เฉœเฉ€ เจนเฉŒเจฒเฉ€ เจนเฉˆเฅค

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจ•เจฐเจจเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ เจ•เจฟ, HBase เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจฆเฉ‡ เจ‰เจฒเจŸ, เจ‡เจน เจชเฉเจฐเจตเฉ‡เจ— เจนเจฎเฉ‡เจธเจผเจพ เจฎเฉเจซเจค เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจฒเจพเจ• 'เจคเฉ‡ เจฒเจŸเจ•เจฃ เจฆเฉ€ เจฌเจœเจพเจ, CPU เจฆเฉ€ เจนเฉ‹เจฐ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฆเฉ€ เจธเจฎเจฐเฉฑเจฅเจพ เจจเฉ‚เฉฐ "เจ…เจจเจฒเจพเจ•" เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค

HBase เจคเฉ‹เจ‚ 3 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจ…เจคเฉ‡ HDFS เจคเฉ‹เจ‚ 5 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจชเฉœเฉเจนเจจ เจฆเฉ€ เจ—เจคเฉ€ เจ•เจฟเจตเฉ‡เจ‚ เจตเจงเจพเจˆ เจœเจพเจตเฉ‡

เจ‡เฉฑเจฅเฉ‡ เจคเฉเจธเฉ€เจ‚ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ•เจฟ, เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจ•เฉˆเจšเจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจตเจพเจงเจพ CPU เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจตเจฟเฉฑเจš เจฒเจ—เจญเจ— เจ…เจจเฉเจชเจพเจคเจ• เจตเจพเจงเจพ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจฅเฉ‹เฉœเฉ‡ เจนเฉ‹เจฐ เจœเจฟเฉฑเจคเจฃ เจตเจพเจฒเฉ‡ เจธเฉฐเจœเฉ‹เจ— เจนเจจเฅค

เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ†เจ‰ เจธเฉˆเจŸเจฟเฉฐเจ— SSC = 3 'เจคเฉ‡ เจ‡เฉฑเจ• เจกเฉ‚เฉฐเจ˜เจพเจˆ เจจเจพเจฒ เจตเจฟเจšเจพเจฐ เจ•เจฐเฉ€เจ. เจธเฉ€เจฎเจพ 'เจคเฉ‡ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจตเจฟเฉฑเจš เจตเจพเจงเจพ เจฒเจ—เจญเจ— 3.3 เจ—เฉเจฃเจพ เจนเฉˆ. เจนเฉ‡เจ เจพเจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจคเจฟเฉฐเจจ เจตเฉฑเจ–เจฐเฉ€เจ†เจ‚ เจฆเฉŒเฉœเจพเจ‚ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจนเจจเฅค

HBase เจคเฉ‹เจ‚ 3 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจ…เจคเฉ‡ HDFS เจคเฉ‹เจ‚ 5 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจชเฉœเฉเจนเจจ เจฆเฉ€ เจ—เจคเฉ€ เจ•เจฟเจตเฉ‡เจ‚ เจตเจงเจพเจˆ เจœเจพเจตเฉ‡

เจœเจฆเฉ‹เจ‚ เจ•เจฟ CPU เจฆเฉ€ เจ–เจชเจค เจฒเจ—เจญเจ— 2.8 เจ—เฉเจฃเจพ เจตเจง เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจซเจฐเจ• เจฌเจนเฉเจค เจตเฉฑเจกเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจชเจฐ เจ›เฉ‹เจŸเฉ€ เจ—เฉเจฐเฉ‡เจŸเจพ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ–เฉเจธเจผ เจนเฉˆ เจ…เจคเฉ‡ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจธเจ•เฉ‚เจฒ เจ…เจคเฉ‡ เจชเจพเจ เจพเจ‚ เจตเจฟเฉฑเจš เจœเจพเจฃ เจฆเจพ เจธเจฎเจพเจ‚ เจนเฉ‹เจตเฉ‡เจ—เจพ.

เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจ‡เจน เจ•เจฟเจธเฉ‡ เจตเฉ€ เจŸเฉ‚เจฒ เจฒเจˆ เจธเจ•เจพเจฐเจพเจคเจฎเจ• เจชเฉเจฐเจญเจพเจต เจชเจพเจตเฉ‡เจ—เจพ เจœเฉ‹ HDFS (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ เจธเจชเจพเจฐเจ•, โ€‹โ€‹เจ†เจฆเจฟ) เจฆเฉ€ เจฌเจฒเจ• เจชเจนเฉเฉฐเจš เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจฌเจธเจผเจฐเจคเฉ‡ เจ•เจฟ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ•เฉ‹เจก เจนเจฒเจ•เจพ เจนเฉˆ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจชเจฒเฉฑเจ— HDFS เจ•เจฒเจพเจ‡เฉฐเจŸ เจธเจพเจˆเจก 'เจคเฉ‡ เจนเฉˆ) เจ…เจคเฉ‡ เจฎเฉเจซเจค CPU เจชเจพเจตเจฐ เจนเฉˆเฅค . เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ, เจ†เจ“ เจœเจพเจ‚เจš เจ•เจฐเฉ€เจ เจ•เจฟ HBase เจคเฉ‹เจ‚ เจชเฉœเฉเจนเจจ เจฒเจˆ BlockCache เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจ เจ…เจคเฉ‡ SSC เจŸเจฟเจŠเจจเจฟเฉฐเจ— เจฆเฉ€ เจธเฉฐเจฏเฉเจ•เจค เจตเจฐเจคเฉ‹เจ‚ เจฆเจพ เจ•เฉ€ เจชเฉเจฐเจญเจพเจต เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

HBase เจคเฉ‹เจ‚ 3 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจ…เจคเฉ‡ HDFS เจคเฉ‹เจ‚ 5 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจชเฉœเฉเจนเจจ เจฆเฉ€ เจ—เจคเฉ€ เจ•เจฟเจตเฉ‡เจ‚ เจตเจงเจพเจˆ เจœเจพเจตเฉ‡

เจ‡เจน เจฆเฉ‡เจ–เจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจชเฉเจฐเจญเจพเจต เจ‡เฉฐเจจเจพ เจตเจงเฉ€เจ† เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจœเจฟเฉฐเจจเจพ เจฐเจฟเจซเจพเจˆเจจเจก เจŸเฉˆเจธเจŸเจพเจ‚ เจตเจฟเฉฑเจš (เจ•เจฟเจธเฉ‡ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจชเฉœเฉเจนเจจเจพ), เจชเจฐ เจ‡เฉฑเจฅเฉ‡ เจ‡เฉฑเจ• เจตเจพเจงเฉ‚ 80K เจจเฉ‚เฉฐ เจจเจฟเจšเฉ‹เฉœเจจเจพ เจ•เจพเจซเจผเฉ€ เจธเฉฐเจญเจต เจนเฉˆเฅค เจ‡เจ•เฉฑเจ เฉ‡, เจฆเฉ‹เจตเฉ‡เจ‚ เจ…เจจเฉเจ•เฉ‚เจฒเจจ 4x เจธเจชเฉ€เจกเจ…เฉฑเจช เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค

เจ‡เจธ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจฒเจˆ เจ‡เฉฑเจ• PR เจตเฉ€ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€ [HDFS-15202], เจœเจฟเจธ เจจเฉ‚เฉฐ เจฎเจฟเจฒเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจน เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจญเจตเจฟเฉฑเจ– เจฆเฉ€เจ†เจ‚ เจฐเฉ€เจฒเฉ€เจœเจผเจพเจ‚ เจตเจฟเฉฑเจš เจ‰เจชเจฒเจฌเจง เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค

เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจธเจฎเจพเจจ เจตเจพเจˆเจก-เจ•เจพเจฒเจฎ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ, เจ•เฉˆเจธเฉˆเจ‚เจกเจฐเจพ เจ…เจคเฉ‡ เจเจšเจฌเฉ‡เจธ เจฆเฉ‡ เจฐเฉ€เจกเจฟเฉฐเจ— เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจฆเฉ€ เจคเฉเจฒเจจเจพ เจ•เจฐเจจเจพ เจฆเจฟเจฒเจšเจธเจช เจธเฉ€.

เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจฆเฉ‹ เจฎเฉ‡เจœเจผเจฌเจพเจจเจพเจ‚ (เจ•เฉเฉฑเจฒ 800 เจฅเฉเจฐเฉˆเจกเจธ) เจคเฉ‹เจ‚ เจฎเจฟเจ†เจฐเฉ€ YCSB เจฒเฉ‹เจก เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเฉ€เจ†เจ‚ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจฒเจพเจ‚เจš เจ•เฉ€เจคเฉ€เจ†เจ‚ เจนเจจเฅค เจธเจฐเจตเจฐ เจธเจพเจˆเจก 'เจคเฉ‡ - 4 เจฎเฉ‡เจœเจผเจฌเจพเจจเจพเจ‚ 'เจคเฉ‡ เจฐเฉ€เจœเจจเจธเจฐเจตเจฐ เจ…เจคเฉ‡ เจ•เฉˆเจธเฉˆเจ‚เจกเจฐเจพ เจฆเฉ€เจ†เจ‚ 4 เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ (เจ‰เจน เจจเจนเฉ€เจ‚ เจœเจฟเฉฑเจฅเฉ‡ เจ—เจพเจนเจ• เจšเฉฑเจฒ เจฐเจนเฉ‡ เจนเจจ, เจ‰เจจเฉเจนเจพเจ‚ เจฆเฉ‡ เจชเฉเจฐเจญเจพเจต เจคเฉ‹เจ‚ เจฌเจšเจฃ เจฒเจˆ)เฅค เจฐเฉ€เจกเจฟเฉฐเจ— เจ†เจ•เจพเจฐ เจฆเฉ€เจ†เจ‚ เจŸเฉ‡เจฌเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจ†เจˆเจ†เจ‚:

HBase - HDFS 'เจคเฉ‡ 300 GB (100 GB เจธเจผเฉเฉฑเจง เจกเจพเจŸเจพ)

เจ•เฉˆเจธเฉˆเจ‚เจกเจฐเจพ - 250 GB (เจฐเจฟเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจซเฉˆเจ•เจŸเจฐ = 3)

เจ‰เจน. เจตเจพเจฒเฉ€เจ…เจฎ เจฒเจ—เจญเจ— เจธเจฎเจพเจจ เจธเฉ€ (HBase เจตเจฟเฉฑเจš เจฅเฉ‹เฉœเจพ เจนเฉ‹เจฐ)เฅค

HBase เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ:

dfs.client.short.circuit.num = 5 (HDFS เจ•เจฒเจพเจ‡เฉฐเจŸ เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจ)

hbase.lru.cache.heavy.eviction.count.limit = 30 - เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจชเฉˆเจš 30 เจฌเฉ‡เจฆเจ–เจฒเฉ€ (~ 5 เจฎเจฟเฉฐเจŸ) เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจฆเฉ‡เจตเฉ‡เจ—เจพเฅค

hbase.lru.cache.heavy.eviction.mb.size.limit = 300 - เจ•เฉˆเจšเจฟเฉฐเจ— เจ…เจคเฉ‡ เจฌเฉ‡เจฆเจ–เจฒเฉ€ เจฆเจพ เจŸเฉ€เจšเจพ เจตเจพเจฒเฉ€เจ…เจฎ

YCSB เจฒเฉŒเจ—เจพเจ‚ เจจเฉ‚เฉฐ เจเจ•เจธเจฒ เจ—เฉเจฐเจพเจซเจพเจ‚ เจตเจฟเฉฑเจš เจชเจพเจฐเจธ เจ…เจคเฉ‡ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€:

HBase เจคเฉ‹เจ‚ 3 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจ…เจคเฉ‡ HDFS เจคเฉ‹เจ‚ 5 เจ—เฉเจฃเจพ เจคเฉฑเจ• เจชเฉœเฉเจนเจจ เจฆเฉ€ เจ—เจคเฉ€ เจ•เจฟเจตเฉ‡เจ‚ เจตเจงเจพเจˆ เจœเจพเจตเฉ‡

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจตเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ‡เจน เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจ‡เจนเจจเจพเจ‚ เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจ‡เจนเจจเจพเจ‚ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจฆเฉ€ เจคเฉเจฒเจจเจพ เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจชเฉเจฐเจคเฉ€ เจธเจ•เจฟเฉฐเจŸ 450 เจนเจœเจผเจพเจฐ เจฐเฉ€เจก เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจฌเจฃเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ.

เจ…เจธเฉ€เจ‚ เจ‰เจฎเฉ€เจฆ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ‰เจคเจชเจพเจฆเจ•เจคเจพ เจฒเจˆ เจฆเจฟเจฒเจšเจธเจช เจธเฉฐเจ˜เจฐเจธเจผ เจฆเฉŒเจฐเจพเจจ เจ‡เจน เจœเจพเจฃเจ•เจพเจฐเฉ€ เจ•เจฟเจธเฉ‡ เจฒเจˆ เจ‰เจชเจฏเฉ‹เจ—เฉ€ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆ.

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹