Како Π΄Π° ја Π·Π³ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΎΠ΄ HBase Π΄ΠΎ 3 ΠΏΠ°Ρ‚ΠΈ ΠΈ ΠΎΠ΄ HDFS Π΄ΠΎ 5 ΠΏΠ°Ρ‚ΠΈ

ВисокитС пСрформанси сС Π΅Π΄Π΅Π½ ΠΎΠ΄ ΠΊΠ»ΡƒΡ‡Π½ΠΈΡ‚Π΅ Π±Π°Ρ€Π°ΡšΠ° ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° со Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. Π’ΠΎ ΠΎΠ΄Π΄Π΅Π»ΠΎΡ‚ Π·Π° Π²Ρ‡ΠΈΡ‚ΡƒΠ²Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ Π‘Π±Π΅Ρ€Π±Π°Π½ΠΊ, Π³ΠΈ Π²ΠΌΠ΅Ρ‚Π½ΡƒΠ²Π°ΠΌΠ΅ рСчиси ситС трансакции Π²ΠΎ Π½Π°ΡˆΠΈΠΎΡ‚ ΠΎΠ±Π»Π°ΠΊ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° Hadoop ΠΈ Π·Π°Ρ‚ΠΎΠ° сС справувамС со навистина Π³ΠΎΠ»Π΅ΠΌΠΈ Ρ‚Π΅ΠΊΠΎΠ²ΠΈ Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π‘Π΅ΠΊΠ°ΠΊΠΎ, Π½ΠΈΠ΅ сСкогаш Π±Π°Ρ€Π°ΠΌΠ΅ Π½Π°Ρ‡ΠΈΠ½ΠΈ Π΄Π° Π³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΠΌΠ΅ пСрформанситС ΠΈ сСга сакамС Π΄Π° Π²ΠΈ ΠΊΠ°ΠΆΠ΅ΠΌΠ΅ ΠΊΠ°ΠΊΠΎ успСавмС Π΄Π° Π³ΠΈ Π·Π°ΠΊΡ€ΠΏΠΈΠΌΠ΅ RegionServer HBase ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ HDFS, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Π²ΠΌΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° ја Π·Π³ΠΎΠ»Π΅ΠΌΠΈΠΌΠ΅ Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅.
Како Π΄Π° ја Π·Π³ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΎΠ΄ HBase Π΄ΠΎ 3 ΠΏΠ°Ρ‚ΠΈ ΠΈ ΠΎΠ΄ HDFS Π΄ΠΎ 5 ΠΏΠ°Ρ‚ΠΈ

Π‘Π΅ΠΏΠ°ΠΊ, ΠΏΡ€Π΅Π΄ Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅Ρ‚Π΅ Π½Π° ΡΡƒΡˆΡ‚ΠΈΠ½Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ°Ρ‚Π°, Π²Ρ€Π΅Π΄ΠΈ Π΄Π° сС Π·Π±ΠΎΡ€ΡƒΠ²Π° Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ° ΠΊΠΎΠΈ, Π²ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ, Π½Π΅ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° сС Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»Π°Ρ‚ Π°ΠΊΠΎ сСдитС Π½Π° HDD.

Π—ΠΎΡˆΡ‚ΠΎ HDD ΠΈ Π±Ρ€Π·ΠΎΡ‚ΠΎ Ρ‡ΠΈΡ‚Π°ΡšΠ΅ со случаСн пристап сС Π½Π΅ΠΊΠΎΠΌΠΏΠ°Ρ‚ΠΈΠ±ΠΈΠ»Π½ΠΈ
Како ΡˆΡ‚ΠΎ Π·Π½Π°Π΅Ρ‚Π΅, HBase ΠΈ ΠΌΠ½ΠΎΠ³Ρƒ Π΄Ρ€ΡƒΠ³ΠΈ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, складираат ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ со Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° ΠΎΠ΄ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ дСсСтици ΠΊΠΈΠ»ΠΎΠ±Π°Ρ˜Ρ‚ΠΈ. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Π΄Π½ΠΎ Π΅ ΠΎΠΊΠΎΠ»Ρƒ 64 KB. Π‘Π΅Π³Π° Π΄Π° замислимС Π΄Π΅ΠΊΠ° Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ само 100 Π±Π°Ρ˜Ρ‚ΠΈ ΠΈ Π±Π°Ρ€Π°ΠΌΠ΅ ΠΎΠ΄ HBase Π΄Π° Π½ΠΈ Π³ΠΈ Π΄Π°Π΄Π΅ ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ ΠΊΠ»ΡƒΡ‡. Π‘ΠΈΠ΄Π΅Ρ˜ΡœΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°Ρ‚Π° Π½Π° Π±Π»ΠΎΠΊΠΎΡ‚ Π²ΠΎ HFiles Π΅ 64 KB, Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ ќС Π±ΠΈΠ΄Π΅ 640 ΠΏΠ°Ρ‚ΠΈ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠΎ (само Π΅Π΄Π½Π° ΠΌΠΈΠ½ΡƒΡ‚Π°!) ΠΎΡ‚ΠΊΠΎΠ»ΠΊΡƒ ΡˆΡ‚ΠΎ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ.

Π‘Π»Π΅Π΄Π½ΠΎ, бидСјќи Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ ќС ΠΎΠ΄ΠΈ ΠΏΡ€Π΅ΠΊΡƒ HDFS ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΌΠ΅Ρ‚Π°ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ShortCircuitCache (ΡˆΡ‚ΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π΅Π½ пристап Π΄ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅), ΠΎΠ²Π° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Ρ‡ΠΈΡ‚Π°ΡšΠ΅ вСќС 1 MB ΠΎΠ΄ дискот. Π‘Π΅ΠΏΠ°ΠΊ, ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄ΠΈ со ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ΠΎΡ‚ dfs.client.read.shortcircuit.buffer.size ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³Ρƒ случаи ΠΈΠΌΠ° смисла Π΄Π° сС Π½Π°ΠΌΠ°Π»ΠΈ ΠΎΠ²Π°Π° врСдност, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° 126 KB.

Π”Π° Ρ€Π΅Ρ‡Π΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌΠ΅ ΠΎΠ²Π°, Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ, ΠΊΠΎΠ³Π° ΠΏΠΎΡ‡Π½ΡƒΠ²Π°ΠΌΠ΅ Π΄Π° Ρ‡ΠΈΡ‚Π°ΠΌΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΏΡ€Π΅ΠΊΡƒ java api, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠΎ FileChannel.read ΠΈ Π±Π°Ρ€Π°ΠΌΠ΅ ΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈΠΎΡ‚ систСм Π΄Π° ја ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π° ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½Π°Ρ‚Π° ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Ρ‚ΠΎΡ˜ Ρ‡ΠΈΡ‚Π° β€žΠ·Π° сСкој ΡΠ»ΡƒΡ‡Π°Ρ˜β€œ 2 ΠΏΠ°Ρ‚ΠΈ повСќС , Ρ‚.Π΅. 256 KB Π²ΠΎ Π½Π°ΡˆΠΈΠΎΡ‚ ΡΠ»ΡƒΡ‡Π°Ρ˜. Ова Π΅ Π·Π°Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ Java Π½Π΅ΠΌΠ° лСсСн Π½Π°Ρ‡ΠΈΠ½ Π΄Π° Π³ΠΎ постави Π·Π½Π°ΠΌΠ΅Ρ‚ΠΎ FADV_RANDOM Π·Π° Π΄Π° Π³ΠΎ спрСчи ΠΎΠ²Π° ΠΎΠ΄Π½Π΅ΡΡƒΠ²Π°ΡšΠ΅.

Како Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ°, Π·Π° Π΄Π° Π³ΠΈ Π΄ΠΎΠ±ΠΈΠ΅Ρ‚Π΅ Π½Π°ΡˆΠΈΡ‚Π΅ 100 Π±Π°Ρ˜Ρ‚ΠΈ, 2600 ΠΏΠ°Ρ‚ΠΈ повСќС сС Ρ‡ΠΈΡ‚Π°Π°Ρ‚ ΠΏΠΎΠ΄ Ρ…Π°ΡƒΠ±Π°Ρ‚Π°. Π‘Π΅ Ρ‡ΠΈΠ½ΠΈ Π΄Π΅ΠΊΠ° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΅ ΠΎΡ‡ΠΈΠ³Π»Π΅Π΄Π½ΠΎ, ајдС Π΄Π° ја Π½Π°ΠΌΠ°Π»ΠΈΠΌΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°Ρ‚Π° Π½Π° Π±Π»ΠΎΠΊΠΎΡ‚ Π½Π° ΠΊΠΈΠ»ΠΎΠ±Π°Ρ˜Ρ‚, Π΄Π° Π³ΠΎ поставимС спомСнатото Π·Π½Π°ΠΌΠ΅ ΠΈ Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΎ просвСтлувачко Π·Π°Π±Ρ€Π·ΡƒΠ²Π°ΡšΠ΅. Но, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ Π΅ ΡˆΡ‚ΠΎ со Π½Π°ΠΌΠ°Π»ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°Ρ‚Π° Π½Π° Π±Π»ΠΎΠΊΠΎΡ‚ Π·Π° 2 ΠΏΠ°Ρ‚ΠΈ, Π³ΠΎ Π½Π°ΠΌΠ°Π»ΡƒΠ²Π°ΠΌΠ΅ ΠΈ Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° Ρ‡ΠΈΡ‚Π°Π½ΠΈ Π±Π°Ρ˜Ρ‚ΠΈ ΠΏΠΎ Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Π²Ρ€Π΅ΠΌΠ΅ Π·Π° 2 ΠΏΠ°Ρ‚ΠΈ.

МоТС Π΄Π° сС Π΄ΠΎΠ±ΠΈΠ΅ ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½Π° Π΄ΠΎΠ±ΠΈΠ²ΠΊΠ° ΠΎΠ΄ ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π·Π½Π°ΠΌΠ΅Ρ‚ΠΎ FADV_RANDOM, Π½ΠΎ само со висока ΠΌΡƒΠ»Ρ‚ΠΈ-нишка ΠΈ со Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° Π±Π»ΠΎΠΊ ΠΎΠ΄ 128 KB, Π½ΠΎ ΠΎΠ²Π° Π΅ максимум Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ дСсСтици ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΈ:

Како Π΄Π° ја Π·Π³ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΎΠ΄ HBase Π΄ΠΎ 3 ΠΏΠ°Ρ‚ΠΈ ΠΈ ΠΎΠ΄ HDFS Π΄ΠΎ 5 ΠΏΠ°Ρ‚ΠΈ

ВСстовитС Π±Π΅Π° ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½ΠΈ Π½Π° 100 Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ, сСкоја со Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° ΠΎΠ΄ 1 GB ΠΈ Π»ΠΎΡ†ΠΈΡ€Π°Π½ΠΈ Π½Π° 10 HDD.

АјдС Π΄Π° прСсмСтамС Π½Π° ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌΠ΅, Π²ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ, Π΄Π° смСтамС со ΠΎΠ²Π°Π° Π±Ρ€Π·ΠΈΠ½Π°:
Π”Π° Ρ€Π΅Ρ‡Π΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° Ρ‡ΠΈΡ‚Π°ΠΌΠ΅ ΠΎΠ΄ 10 дискови со Π±Ρ€Π·ΠΈΠ½Π° ΠΎΠ΄ 280 MB/s, Ρ‚.Π΅. 3 ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΠΏΠ°Ρ‚ΠΈ 100 Π±Π°Ρ˜Ρ‚ΠΈ. Но, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС сСќавамС, ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ Π½ΠΈ сС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ сС 2600 ΠΏΠ°Ρ‚ΠΈ ΠΏΠΎΠΌΠ°Π»ΠΊΡƒ ΠΎΠ΄ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½ΠΈΡ‚Π΅. Π’Π°ΠΊΠ°, 3 ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ Π΄Π΅Π»ΠΈΠΌΠ΅ со 2600 ΠΈ Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ 1100 записи Π²ΠΎ сСкунда.

ДСпрСсивно, Π½Π΅Π»ΠΈ? Π’ΠΎΠ° Π΅ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π°Ρ‚Π° Π‘Π»ΡƒΡ‡Π°Π΅Π½ пристап пристап Π΄ΠΎ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π½Π° HDD - Π±Π΅Π· ΠΎΠ³Π»Π΅Π΄ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°Ρ‚Π° Π½Π° Π±Π»ΠΎΠΊΠΎΡ‚. Ова Π΅ Ρ„ΠΈΠ·ΠΈΡ‡ΠΊΠ°Ρ‚Π° Π³Ρ€Π°Π½ΠΈΡ†Π° Π½Π° случаСн пристап ΠΈ Π½ΠΈΡ‚Ρƒ Π΅Π΄Π½Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° притиснС повСќС ΠΏΠΎΠ΄ Ρ‚Π°ΠΊΠ²ΠΈ услови.

Како Ρ‚ΠΎΠ³Π°Ρˆ Π±Π°Π·ΠΈΡ‚Π΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ постигнуваат ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠΈ Π±Ρ€Π·ΠΈΠ½ΠΈ? Π—Π° Π΄Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌΠ΅ Π½Π° ΠΎΠ²Π° ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅, Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ ΡˆΡ‚ΠΎ сС случува Π½Π° слСдната слика:

Како Π΄Π° ја Π·Π³ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΎΠ΄ HBase Π΄ΠΎ 3 ΠΏΠ°Ρ‚ΠΈ ΠΈ ΠΎΠ΄ HDFS Π΄ΠΎ 5 ΠΏΠ°Ρ‚ΠΈ

ОвдС Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π΄Π΅ΠΊΠ° Π·Π° ΠΏΡ€Π²ΠΈΡ‚Π΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΌΠΈΠ½ΡƒΡ‚ΠΈ Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π΅ навистина ΠΎΠΊΠΎΠ»Ρƒ илјада Ρ€Π΅ΠΊΠΎΡ€Π΄ΠΈ Π²ΠΎ сСкунда. Π‘Π΅ΠΏΠ°ΠΊ, ΠΏΠΎΠ½Π°Ρ‚Π°ΠΌΡƒ, ΠΏΠΎΡ€Π°Π΄ΠΈ Ρ„Π°ΠΊΡ‚ΠΎΡ‚ ΡˆΡ‚ΠΎ сС Ρ‡ΠΈΡ‚Π° ΠΌΠ½ΠΎΠ³Ρƒ повСќС ΠΎΡ‚ΠΊΠΎΠ»ΠΊΡƒ ΡˆΡ‚ΠΎ сС Π±Π°Ρ€Π°Π»ΠΎ, ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π·Π°Π²Ρ€ΡˆΡƒΠ²Π°Π°Ρ‚ Π²ΠΎ buff/cache Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈΠΎΡ‚ систСм (linux) ΠΈ Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° сС Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π° Π½Π° ΠΏΠΎΠΏΡ€ΠΈΡΡ‚ΠΎΡ˜Π½ΠΈ 60 илјади Π²ΠΎ сСкунда.

Π’Π°ΠΊΠ°, ΠΏΠΎΠ½Π°Ρ‚Π°ΠΌΡƒ ќС сС Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌΠ΅ со Π·Π°Π±Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ Π½Π° пристапот само Π΄ΠΎ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ сС Π²ΠΎ ΠΊΠ΅ΡˆΠΎΡ‚ Π½Π° ОБ ΠΈΠ»ΠΈ сС Π½Π°ΠΎΡ“Π°Π°Ρ‚ Π²ΠΎ ΡƒΡ€Π΅Π΄ΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ SSD/NVMe со спорСдлива Π±Ρ€Π·ΠΈΠ½Π° Π½Π° пристап.

Π’ΠΎ Π½Π°ΡˆΠΈΠΎΡ‚ ΡΠ»ΡƒΡ‡Π°Ρ˜, ќС спровСдСмС тСстови Π½Π° ΠΊΠ»ΡƒΠΏΠ° ΠΎΠ΄ 4 сСрвСри, ΠΎΠ΄ ΠΊΠΎΠΈ сСкој сС наплаќа Π½Π° слСдниов Π½Π°Ρ‡ΠΈΠ½:

ΠŸΡ€ΠΎΡ†Π΅ΡΠΎΡ€: Xeon E5-2680 v4 @ 2.40 GHz 64 нишки.
ΠœΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°: 730 GB.
Java Π²Π΅Ρ€Π·ΠΈΡ˜Π°: 1.8.0_111

И Ρ‚ΡƒΠΊΠ° ΠΊΠ»ΡƒΡ‡Π½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π΅ ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ Ρ‚Π°Π±Π΅Π»ΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π°Ρ‚. Π€Π°ΠΊΡ‚ Π΅ Π΄Π΅ΠΊΠ° Π°ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΎΠ΄ Ρ‚Π°Π±Π΅Π»Π° ΡˆΡ‚ΠΎ Π΅ цСлосно смСстСна Π²ΠΎ ΠΊΠ΅ΡˆΠΎΡ‚ HBase, Ρ‚ΠΎΠ³Π°Ρˆ Π½Π΅ΠΌΠ° Π΄Π° дојдС Π½ΠΈ Π΄ΠΎ Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΎΠ΄ Π±Π°Ρ„/ΠΊΠ΅ΡˆΠΎΡ‚ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈΠΎΡ‚ систСм. Π‘ΠΈΠ΄Π΅Ρ˜ΡœΠΈ HBase стандардно Π΄ΠΎΠ΄Π΅Π»ΡƒΠ²Π° 40% ΠΎΠ΄ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° Π½Π° структура Π½Π°Ρ€Π΅Ρ‡Π΅Π½Π° BlockCache. Π’ΠΎ ΡΡƒΡˆΡ‚ΠΈΠ½Π° ΠΎΠ²Π° Π΅ ConcurrentHashMap, ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ ΠΊΠ»ΡƒΡ‡ΠΎΡ‚ Π΅ ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° + ΠΏΠΎΠΌΠ΅ΡΡ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π±Π»ΠΎΠΊΠΎΡ‚, Π° врСдноста Π΅ вистинскиот ΠΏΠΎΠ΄Π°Ρ‚ΠΎΠΊ Π½Π° ΠΎΠ²Π° ΠΏΠΎΠΌΠ΅ΡΡ‚ΡƒΠ²Π°ΡšΠ΅.

Π’Π°ΠΊΠ°, ΠΊΠΎΠ³Π° Ρ‡ΠΈΡ‚Π°ΠΌΠ΅ само ΠΎΠ΄ ΠΎΠ²Π°Π° структура, Π½ΠΈΠ΅ Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΎΠ΄Π»ΠΈΡ‡Π½Π° Π±Ρ€Π·ΠΈΠ½Π°, ΠΊΠ°ΠΊΠΎ ΠΌΠΈΠ»ΠΈΠΎΠ½ Π±Π°Ρ€Π°ΡšΠ° Π²ΠΎ сСкунда. Но, Π΄Π° замислимС Π΄Π΅ΠΊΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΎΠ΄Π²ΠΎΠΈΠΌΠ΅ стотици Π³ΠΈΠ³Π°Π±Π°Ρ˜Ρ‚ΠΈ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π° само Π·Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, бидСјќи ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρƒ Π΄Ρ€ΡƒΠ³ΠΈ корисни Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠΎΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π½Π° ΠΎΠ²ΠΈΠ΅ сСрвСри.

На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎ Π½Π°ΡˆΠΈΠΎΡ‚ ΡΠ»ΡƒΡ‡Π°Ρ˜, ΠΎΠ±Π΅ΠΌΠΎΡ‚ Π½Π° BlockCache Π½Π° Π΅Π΄Π΅Π½ RS Π΅ ΠΎΠΊΠΎΠ»Ρƒ 12 GB. Π‘Π»Π΅Ρ‚Π°Π²ΠΌΠ΅ Π΄Π²Π° Π Π‘ Π½Π° Π΅Π΄Π΅Π½ јазол, Ρ‚.Π΅. 96 GB сС распрСдСлСни Π·Π° BlockCache Π½Π° ситС јазли. И ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΠ°Ρ‚ΠΈ повСќС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π΅ΠΊΠ° Π±ΠΈΠ΄Π°Ρ‚ 4 Ρ‚Π°Π±Π΅Π»ΠΈ, ΠΏΠΎ 130 Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈ, Π²ΠΎ ΠΊΠΎΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ сС со Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° ΠΎΠ΄ 800 MB, компрСсирани со FAST_DIFF, Ρ‚.Π΅. Π²ΠΊΡƒΠΏΠ½ΠΎ 410 GB (ΠΎΠ²Π° сС чисти ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Ρ‚.Π΅. Π±Π΅Π· Π΄Π° сС Π·Π΅ΠΌΠ΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΡ‚ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°).

Π’Π°ΠΊΠ°, 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 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%

Напротив, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° ќС Π³ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΡ‚ Π½Π° ΠΊΠ΅ΡˆΠΈΡ€Π°Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π΄ΠΎΠ΄Π΅ΠΊΠ° Overhead Π½Π΅ станС ΠΏΠΎΠ·ΠΈΡ‚ΠΈΠ²Π΅Π½.

ΠŸΠΎΠ΄ΠΎΠ»Ρƒ Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° Ρ‚ΠΎΠ° ΠΊΠ°ΠΊΠΎ ΠΎΠ²Π° ΠΈΠ·Π³Π»Π΅Π΄Π° Π½Π° Ρ€Π΅Π°Π»Π½ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. НСма ΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π΄Π° сС ΠΎΠ±ΠΈΠ΄ΡƒΠ²Π°Ρ‚Π΅ Π΄Π° достигнСтС 0%, Ρ‚ΠΎΠ° Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠœΠ½ΠΎΠ³Ρƒ Π΅ Π΄ΠΎΠ±Ρ€ΠΎ ΠΊΠΎΠ³Π° Π΅ ΠΎΠΊΠΎΠ»Ρƒ 30 - 100%, ΠΎΠ²Π° ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° сС ΠΈΠ·Π±Π΅Π³Π½Π΅ ΠΏΡ€Π΅Π΄Π²Ρ€Π΅ΠΌΠ΅Π½ΠΎ ΠΈΠ·Π»Π΅Π³ΡƒΠ²Π°ΡšΠ΅ ΠΎΠ΄ Ρ€Π΅ΠΆΠΈΠΌΠΎΡ‚ Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΎΡ€ΠΎΡ‡Π½ΠΈ Π±Ρ€Π°Π½ΠΎΠ²ΠΈ.

hbase.lru.cache.heavy.eviction.overhead.ΠΊΠΎΠ΅Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ β€” ΠΎΠ΄Ρ€Π΅Π΄ΡƒΠ²Π° ΠΊΠΎΠ»ΠΊΡƒ Π±Ρ€Π·ΠΎ Π±ΠΈ сакалС Π΄Π° Π³ΠΎ Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΡ‚. Ако Π·Π½Π°Π΅ΠΌΠ΅ со сигурност Π΄Π΅ΠΊΠ° Π½Π°ΡˆΠΈΡ‚Π΅ Ρ‡ΠΈΡ‚Π°ΡšΠ° сС Π³Π»Π°Π²Π½ΠΎ Π΄ΠΎΠ»Π³ΠΈ ΠΈ Π½Π΅ сакамС Π΄Π° Ρ‡Π΅ΠΊΠ°ΠΌΠ΅, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΠΈΠΌΠ΅ овој сооднос ΠΈ ΠΏΠΎΠ±Ρ€Π·ΠΎ Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ високи пСрформанси.

На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³ΠΎ поставивмС овој ΠΊΠΎΠ΅Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ = 0.01. Ова Π·Π½Π°Ρ‡ΠΈ Π΄Π΅ΠΊΠ° Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈΡ‚Π΅ (Π²ΠΈΠ΄ΠΈ ΠΏΠΎΠ³ΠΎΡ€Π΅) ќС сС ΠΏΠΎΠΌΠ½ΠΎΠΆΠ°Ρ‚ со овој Π±Ρ€ΠΎΡ˜ со Π΄ΠΎΠ±ΠΈΠ΅Π½ΠΈΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΡ‚ Π½Π° ΠΊΠ΅ΡˆΠΈΡ€Π°Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ќС сС Π½Π°ΠΌΠ°Π»ΠΈ. Π”Π° прСтпоставимС Π΄Π΅ΠΊΠ° Overhead = 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 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ, исклучСтС Π³ΠΈ multi-gets (останува само ΡΠΊΠ΅Π½ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ)

НиС ΠΏΡ€Π°Π²ΠΈΠΌΠ΅ Π΄Π²Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ, ΠΏΡ€Π²ΠΎ hbase.lru.cache.heavy.eviction.count.limit = 10000 (ΡˆΡ‚ΠΎ Π²ΡΡƒΡˆΠ½ΠΎΡΡ‚ ја ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π°), Π° ΠΏΠΎΡ‚ΠΎΠ° постави ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ΅ = 0 (Π³ΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π°).

Π’ΠΎ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ»Ρƒ Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° Π΅ Π²ΠΊΠ»ΡƒΡ‡Π΅Π½Π° ΠΈ Π³ΠΎ рСсСтира Overshooting Π½Π° 14-71%. Од Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅ ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ сС Π½Π°ΠΌΠ°Π»ΡƒΠ²Π°, ΡˆΡ‚ΠΎ Π³ΠΎ Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° Backpressure ΠΈ HBase ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π° повСќС Π±Π»ΠΎΠΊΠΎΠ²ΠΈ.

ΠŸΡ€ΠΈΡ˜Π°Π²Π΅Ρ‚Π΅ сС Π Π΅Π³ΠΈΠΎΠ½Π‘Π΅Ρ€Π²Π΅Ρ€
исфрлСни (MB): 0, сооднос 0.0, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): -100, Ρ‚Π΅ΡˆΠΊΠΈ Π±Ρ€ΠΎΡ˜Π°Ρ‡ΠΈ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 0, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 100
исфрлСни (MB): 0, сооднос 0.0, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): -100, Ρ‚Π΅ΡˆΠΊΠΈ Π±Ρ€ΠΎΡ˜Π°Ρ‡ΠΈ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 0, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 100
исСлСни (MB): 2170, сооднос 1.09, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 985, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 1, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 91 < ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ
исСлСни (MB): 3763, сооднос 1.08, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 1781, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 2, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 76
исСлСни (MB): 3306, сооднос 1.07, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 1553, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 3, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 61
исСлСни (MB): 2508, сооднос 1.06, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 1154, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 4, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 50
исСлСни (MB): 1824, сооднос 1.04, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 812, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 5, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 42
исСлСни (MB): 1482, сооднос 1.03, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 641, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 6, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 36
исСлСни (MB): 1140, сооднос 1.01, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 470, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 7, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 32
исСлСни (MB): 913, сооднос 1.0, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 356, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 8, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 29
исСлСни (MB): 912, сооднос 0.89, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 356, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 9, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 26
исСлСни (MB): 684, сооднос 0.76, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 242, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 10, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 24
исСлСни (MB): 684, сооднос 0.61, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 242, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 11, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 456, сооднос 0.51, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 128, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 12, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 21
исСлСни (MB): 456, сооднос 0.42, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 128, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 13, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 20
исСлСни (MB): 456, сооднос 0.33, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 128, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 14, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 19
исСлСни (MB): 342, сооднос 0.33, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 15, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 19
исСлСни (MB): 342, сооднос 0.32, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 16, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 19
исСлСни (MB): 342, сооднос 0.31, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 17, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 19
исСлСни (MB): 228, сооднос 0.3, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 18, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 19
исСлСни (MB): 228, сооднос 0.29, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 19, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 19
исСлСни (MB): 228, сооднос 0.27, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 20, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 19
исСлСни (MB): 228, сооднос 0.25, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 21, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 19
исСлСни (MB): 228, сооднос 0.24, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 22, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 19
исСлСни (MB): 228, сооднос 0.22, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 23, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 19
исСлСни (MB): 228, сооднос 0.21, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 24, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 19
исСлСни (MB): 228, сооднос 0.2, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 25, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 19
исСлСни (MB): 228, сооднос 0.17, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 26, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 19
исфрлСни (MB): 456, сооднос 0.17, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 128, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 27, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 18 < Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΈ Π΄ΠΎΠ±ΠΈΠ²Π° (Π½ΠΎ Ρ‚Π°Π±Π΅Π»Π° иста)
исСлСни (MB): 456, сооднос 0.15, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 128, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 28, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 17
исСлСни (MB): 342, сооднос 0.13, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 29, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 17
исСлСни (MB): 342, сооднос 0.11, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 30, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 17
исСлСни (MB): 342, сооднос 0.09, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 31, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 17
исСлСни (MB): 228, сооднос 0.08, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 32, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 17
исСлСни (MB): 228, сооднос 0.07, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 33, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 17
исСлСни (MB): 228, сооднос 0.06, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 34, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 17
исСлСни (MB): 228, сооднос 0.05, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 35, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 17
исСлСни (MB): 228, сооднос 0.05, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 36, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 17
исСлСни (MB): 228, сооднос 0.04, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 37, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 17
исфрлСни (MB): 109, сооднос 0.04, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): -46, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 37, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22 < Π·Π°Π΄Π΅Π½ притисок
исСлСни (MB): 798, сооднос 0.24, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 299, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 38, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 20
исСлСни (MB): 798, сооднос 0.29, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 299, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 39, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 18
исСлСни (MB): 570, сооднос 0.27, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 185, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 40, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 17
исСлСни (MB): 456, сооднос 0.22, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 128, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 41, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 16
исСлСни (MB): 342, сооднос 0.16, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 42, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 16
исСлСни (MB): 342, сооднос 0.11, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 43, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 16
исСлСни (MB): 228, сооднос 0.09, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 44, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 16
исСлСни (MB): 228, сооднос 0.07, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 45, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 16
исСлСни (MB): 228, сооднос 0.05, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 46, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 16
исСлСни (MB): 222, сооднос 0.04, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 11, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 47, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 16
исСлСни (MB): 104, сооднос 0.03, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): -48, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 47, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 21 < ΠΏΡ€Π΅ΠΊΠΈΠ½ΠΎΡ‚ Π΄ΠΎΠ±ΠΈΠ²Π°
исСлСни (MB): 684, сооднос 0.2, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 242, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 48, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 19
исСлСни (MB): 570, сооднос 0.23, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 185, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 49, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 18
исСлСни (MB): 342, сооднос 0.22, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 50, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 18
исСлСни (MB): 228, сооднос 0.21, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 51, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 18
исСлСни (MB): 228, сооднос 0.2, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 52, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 18
исСлСни (MB): 228, сооднос 0.18, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 53, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 18
исСлСни (MB): 228, сооднос 0.16, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 54, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 18
исСлСни (MB): 228, сооднос 0.14, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 14, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 55, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 18
исфрлСни (MB): 112, сооднос 0.14, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): -44, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 55, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 23 < Π·Π°Π΄Π΅Π½ притисок
исСлСни (MB): 456, сооднос 0.26, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 128, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 56, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 342, сооднос 0.31, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 57, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 342, сооднос 0.33, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 58, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 342, сооднос 0.33, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 59, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 342, сооднос 0.33, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 60, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 342, сооднос 0.33, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 61, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 342, сооднос 0.33, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 62, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 342, сооднос 0.33, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 63, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 342, сооднос 0.32, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 64, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 342, сооднос 0.33, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 65, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 342, сооднос 0.33, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 66, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 342, сооднос 0.32, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 67, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 342, сооднос 0.33, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 68, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 342, сооднос 0.32, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 69, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 342, сооднос 0.32, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 70, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 342, сооднос 0.33, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 71, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 342, сооднос 0.33, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 72, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 342, сооднос 0.33, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 73, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 342, сооднос 0.33, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 74, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 342, сооднос 0.33, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 75, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исСлСни (MB): 342, сооднос 0.33, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): 71, Ρ‚Π΅ΠΆΠΎΠΊ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 76, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 22
исфрлСни (MB): 21, сооднос 0.33, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): -90, Ρ‚Π΅ΡˆΠΊΠΈ Π±Ρ€ΠΎΡ˜Π°Ρ‡ΠΈ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 76, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 32
исфрлСни (MB): 0, сооднос 0.0, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): -100, Ρ‚Π΅ΡˆΠΊΠΈ Π±Ρ€ΠΎΡ˜Π°Ρ‡ΠΈ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 0, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 100
исфрлСни (MB): 0, сооднос 0.0, Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ (%): -100, Ρ‚Π΅ΡˆΠΊΠΈ Π±Ρ€ΠΎΡ˜Π°Ρ‡ΠΈ Π·Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅: 0, Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ DataBlock (%): 100

Π‘ΠΊΠ΅Π½ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ бСшС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ Π·Π° Π΄Π° сС ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ΅ истиот процСс Π²ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊ Π½Π° односот ΠΏΠΎΠΌΠ΅Ρ“Ρƒ Π΄Π²Π° сСкции Π½Π° ΠΊΠ΅ΡˆΠΎΡ‚ - Π΅Π΄ΠΈΠ½Π΅Ρ‡Π½ΠΈ (ΠΊΠ°Π΄Π΅ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΡˆΡ‚ΠΎ никогаш ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ Π½Π΅ Π±ΠΈΠ»Π΅ ΠΏΠΎΠ±Π°Ρ€Π°Π½ΠΈ) ΠΈ ΠΌΡƒΠ»Ρ‚ΠΈ (ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ β€žΠ±Π°Ρ€Π°Π½ΠΈβ€œ Π±Π°Ρ€Π΅ΠΌ Сднаш сС Π·Π°Ρ‡ΡƒΠ²Π°Π½ΠΈ ΠΎΠ²Π΄Π΅):

Како Π΄Π° ја Π·Π³ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΎΠ΄ HBase Π΄ΠΎ 3 ΠΏΠ°Ρ‚ΠΈ ΠΈ ΠΎΠ΄ HDFS Π΄ΠΎ 5 ΠΏΠ°Ρ‚ΠΈ

И ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΊΠ°ΠΊΠΎ ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π²ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊ. Π—Π° спорСдба, ΠΊΠ΅ΡˆΠΎΡ‚ бСшС цСлосно исклучСн Π½Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊΠΎΡ‚, Π° ΠΏΠΎΡ‚ΠΎΠ° бСшС лансиран HBase со ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ ΠΈ ΠΎΠ΄Π»ΠΎΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊΠΎΡ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ (30 циклуси Π½Π° ΠΈΡΠ΅Π»ΡƒΠ²Π°ΡšΠ΅).

ЦСлосниот ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅ Π΄Π° сС најдС Π²ΠΎ Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ Π·Π° ΠΏΠΎΠ²Π»Π΅ΠΊΡƒΠ²Π°ΡšΠ΅ 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 илјади Ρ‡ΠΈΡ‚Π°ΡšΠ° Π²ΠΎ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΠΎΠ΄ 64 KB со Π΅Π΄Π΅Π½ кСш Π±Π°Ρ€Π° 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 ΠΏΠ°Ρ‚ΠΈ. Π Π°Π·Π»ΠΈΠΊΠ°Ρ‚Π° Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³Ρƒ Π³ΠΎΠ»Π΅ΠΌΠ°, Π½ΠΎ ΠΌΠ°Π»Π°Ρ‚Π° Π“Ρ€Π΅Ρ‚Π° Π΅ вСќС ΡΡ€Π΅ΡœΠ½Π° ΠΈ ΠΌΠΎΠΆΠ΅Π±ΠΈ ΠΈΠΌΠ° Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° ΠΎΠ΄ΠΈ Π½Π° ΡƒΡ‡ΠΈΠ»ΠΈΡˆΡ‚Π΅ ΠΈ Π΄Π° Π·Π΅ΠΌΠ΅ часови.

Π’Π°ΠΊΠ°, ΠΎΠ²Π° ќС ΠΈΠΌΠ° ΠΏΠΎΠ·ΠΈΡ‚ΠΈΠ²Π΅Π½ Π΅Ρ„Π΅ΠΊΡ‚ Π·Π° сСкоја Π°Π»Π°Ρ‚ΠΊΠ° ΡˆΡ‚ΠΎ користи масовСн пристап Π΄ΠΎ HDFS (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Spark, ΠΈΡ‚Π½.), ΠΏΠΎΠ΄ услов ΠΊΠΎΠ΄ΠΎΡ‚ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π΄Π° Π΅ лСсСн (Ρ‚.Π΅. ΠΏΡ€ΠΈΠΊΠ»ΡƒΡ‡ΠΎΠΊΠΎΡ‚ Π΅ Π½Π° страната Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ HDFS) ΠΈ Π΄Π° ΠΈΠΌΠ° бСсплатно Π½Π°ΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅ Π½Π° процСсорот . Π—Π° Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌΠ΅, Π΄Π° тСстирамС ΠΊΠ°ΠΊΠΎΠ² Π΅Ρ„Π΅ΠΊΡ‚ ќС ΠΈΠΌΠ° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π½Π°Ρ‚Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° BlockCache ΠΈ ΠΏΠΎΠ΄Π΅ΡΡƒΠ²Π°ΡšΠ΅ Π½Π° SSC ​​за Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΎΠ΄ HBase.

Како Π΄Π° ја Π·Π³ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΎΠ΄ HBase Π΄ΠΎ 3 ΠΏΠ°Ρ‚ΠΈ ΠΈ ΠΎΠ΄ HDFS Π΄ΠΎ 5 ΠΏΠ°Ρ‚ΠΈ

МоТС Π΄Π° сС Π²ΠΈΠ΄ΠΈ Π΄Π΅ΠΊΠ° Π²ΠΎ Ρ‚Π°ΠΊΠ²ΠΈ услови Π΅Ρ„Π΅ΠΊΡ‚ΠΎΡ‚ Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΡƒ Π³ΠΎΠ»Π΅ΠΌ ΠΊΠ°ΠΊΠΎ Π²ΠΎ Ρ€Π°Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ тСстови (Ρ‡ΠΈΡ‚Π°ΡšΠ΅ Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°), Π½ΠΎ сосСма Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° сС исцСдат Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ 80K ΠΎΠ²Π΄Π΅. Π—Π°Π΅Π΄Π½ΠΎ, Π΄Π²Π΅Ρ‚Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°Π°Ρ‚ Π΄ΠΎ 4x Π·Π°Π±Ρ€Π·ΡƒΠ²Π°ΡšΠ΅.

Π—Π° ΠΎΠ²Π°Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ˜Π° бСшС Π½Π°ΠΏΡ€Π°Π²Π΅Π½ ΠΈ ПР [HDFS-15202], која Π΅ споСна ΠΈ ΠΎΠ²Π°Π° функционалност ќС Π±ΠΈΠ΄Π΅ достапна Π²ΠΎ ΠΈΠ΄Π½ΠΈΡ‚Π΅ изданија.

И, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, бСшС интСрСсно Π΄Π° сС спорСдат пСрформанситС Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ Π½Π° слична Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ со ΡˆΠΈΡ€ΠΎΠΊΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ, ΠšΠ°ΡΠ°Π½Π΄Ρ€Π° ΠΈ HBase.

Π—Π° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΎΠ²Π°, лансиравмС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΡ†ΠΈ Π½Π° стандардната Π°Π»Π°Ρ‚ΠΊΠ° Π·Π° Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ YCSB ΠΎΠ΄ Π΄Π²Π° домаќини (Π²ΠΊΡƒΠΏΠ½ΠΎ 800 нишки). На страната Π½Π° сСрвСрот - 4 ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π½Π° RegionServer ΠΈ Cassandra Π½Π° 4 хостови (Π½Π΅ ΠΎΠ½ΠΈΠ΅ ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅, Π·Π° Π΄Π° сС ΠΈΠ·Π±Π΅Π³Π½Π΅ Π½ΠΈΠ²Π½ΠΎΡ‚ΠΎ влијаниС). Π§ΠΈΡ‚Π°ΡšΠ°Ρ‚Π° дојдоа ΠΎΠ΄ Ρ‚Π°Π±Π΅Π»ΠΈ со Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°:

HBase – 300 GB Π½Π° HDFS (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 Π±Π΅Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°Π½ΠΈ Π²ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΈ Π½Π° Excel:

Како Π΄Π° ја Π·Π³ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΎΠ΄ HBase Π΄ΠΎ 3 ΠΏΠ°Ρ‚ΠΈ ΠΈ ΠΎΠ΄ HDFS Π΄ΠΎ 5 ΠΏΠ°Ρ‚ΠΈ

Како ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΎΠ²ΠΈΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π°Π°Ρ‚ Π΄Π° сС спорСдат пСрформанситС Π½Π° ΠΎΠ²ΠΈΠ΅ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΏΠΎΠ΄ ΠΎΠ²ΠΈΠ΅ услови ΠΈ Π΄Π° сС постигнат 450 илјади Ρ‡ΠΈΡ‚Π°ΡšΠ° Π²ΠΎ сСкунда.

Π‘Π΅ Π½Π°Π΄Π΅Π²Π°ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΎΠ²Π°Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ корисна Π·Π° Π½Π΅ΠΊΠΎΠ³ΠΎ Π·Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π²ΠΎΠ·Π±ΡƒΠ΄Π»ΠΈΠ²Π°Ρ‚Π° Π±ΠΎΡ€Π±Π° Π·Π° продуктивност.

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€