Производительность сканирования диапазона HBase по многопользовательскому сценарию в разных настройках кластера - PullRequest
0 голосов
/ 12 октября 2019

Недавно я выполнил сканирование нескольких диапазонов с использованием клиента и API Java HBase в выбранной таблице HBase, используя потоки Java для имитации одновременного доступа нескольких клиентов. Например, 100 одновременно работающих пользователей читают (выполняют сканирование диапазона) на основе разных ключей начальной и конечной строк (100 клиентов читают 100 различных диапазонов), но возвращают одно и то же «число» результатов. Я выполнил это в двух разных настройках кластера: кластер из 4 узлов и кластер из 8 узлов. Результаты, полученные для сканирования диапазона для двух разных кластеров, остались прежними (оба кластера имеют идентичные аппаратные конфигурации). Это осталось тем же для большего числа одновременных пользователей. Для каждого числа одновременно работающих пользователей я увеличивал размер сканирования диапазона (т. Е. 1 с (секунда), 5 с (секунды), 10 с, 30 с, 60 с). Во всех случаях соответствующие диапазоны запросов в двух кластерах дали одинаковое время ответа на запрос.

Я искал возможные объяснения этому в интернете. Но я не смог найти хороший ресурс, который мог бы объяснить это поведение. Я ожидал, что производительность запросов диапазона увеличится с большим количеством вычислительных кластеров.

Я проверил распределение данных в двух кластерах и отметил, что в кластере из 8 узлов распределение данных находится во всех 8 узлах, где оно составляет всего 4 узла, в кластере из 4 узлов. Теоретически, я надеялся на 2-кратное улучшение в кластере из 8 узлов по сравнению с кластером из 4 узлов.

Я бы предпочел, если бы вы могли поделиться ссылками, ресурсами здесь, где я могу прочитать и понять это поведениеHBase. Мой единственный аргумент в том, что в сети есть узкое место, но я чувствую, что это наивный аргумент.

...