Производительность Apache Phoenix - что я могу ожидать? - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть кластер hadoop (hdfs, yarn, hbase), и разработчики жалуются на проблемы с производительностью, поэтому я пытаюсь сделать много оптимизаций, но, как новичок в Hbase, меня интересует текущая производительность.

Я разработал быстрый инструмент, который вводит 100 тыс. Предложений в 10 параллельных потоках в таблицу Phoenix (которая имеет ту же структуру, что и производственная таблица) и отображает результаты за 1 неделю.

Мой кластер Hadoop состоит из:

  • 2 наменода в HA: 2 ВМ с 2 vCPU и 12 ГБ памяти
  • 15 датоданов: физические серверы
    • 6 с 48 vCPU и 189 ГБ памяти
    • 5 с 40 vCPU и 189 ГБ памяти
    • 4 с 8 vCPU и 62 ГБ памяти
  • все датододы также являются менеджерами узлов пряжи
  • датоданы с 40 и 48 vCPU также являются региональными серверами Hbase
  • 3 общих zookeepers для Hdfs, Yarn и Hbase HA: 3 ВМ с 2 vCPU и 8 ГБ памяти

I 'используя Apache Hadoop 2.8.3,Hbase 2.0.0 и Phoenix 5.0.0

Текущие результаты моего инструмента-инжектора (вставка 100 000 предложений в 10 параллельных нитях):

  • 57 секунд для лучшего времени (это соответствует ~ 1700 вставок / секунд)
  • 10,4 минут для наихудшего времени (соответствует ~ 160 вставок в секунду)
  • среднее время 2 минуты (соответствует ~ 1000 вставок /секунд)

Худшее время впрыска соответствует моменту, когда работает много процессов пряжи, поэтому меня это не удивляет. график результатов

Мой вопрос "простой": хорошее соотношение 1000 вставок / секунд?или я должен иметь больше?

Спасибо.

...