Как увеличить Elasticsearch 5.6.7 Производительность записи - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь сравнить мой кластер Hot-Warm Structured Elasticsearch. Я провел много тестов.Я следил за многими вещами.Я думаю, что моя индексная ставка все еще не приемлема.

В моем кластере у меня есть 13 горячих серверов, которые имеют SSD, 3 из них имеют NVMe.Относительно хорошие процессоры.И 3 теплых сервера.В моем тесте я получаю максимум 250 тыс. Первичных осколков, всего 500 тыс. Осколков.Так как я использую 1 счетчик реплик.

Для меня это означает вставку документа 38 КБ на сервер, так как я использую 1 счетчик реплик, это означает, что документ 19 КБ на сервер.Для такой базовой модели ключевого значения показатель индекса слишком медленный для меня.Когда я вижу, что не могу сравниться с моей реальной моделью.

Есть какой-нибудь совет для меня?

Я сделал следующие советы

  • bootstrap.memory_lock: true
  • thread_pool.bulk.queue_size: 100000 (в начале это было 200, затем я протестировал 20000.теперь 100000)
  • thread_pool.index.queue_size: 100000 (в начале это было 200)
  • Модель базового значения ключа.1 реплика, увеличенный интервал обновления, высокое или низкое количество осколков.Отключенные поля _source и _all.Моя модель ниже.Сгенерированные автоматически идентификаторы.
  • Я принимаю данные, используя массовый процессор.Я протестировал изменение количества документов и параллелизма на стороне клиента.Я использовал несколько мощных серверов для приема данных.У моих клиентов есть горячие ips сервера для загрузки данных, а не горячие серверы.

    {"template": "test01 *", "settings": {"index": {"routing": {"allocation": {"require": {"box_type": "hot"}}}, "refresh_interval": "600s", "number_of_shards": "26", "number_of_replicas": "1"}}, "mappings": {"test01": {"_source": {"enabled": false}, "_all": {"enabled": false}, "dynamic": false, "properties": {"rt": {"type": "keyword"}, "con": {"type": "float"}}}}}

1 Ответ

0 голосов
/ 08 марта 2019

Небольшой совет, установка индекса должна добавить index.routing.allocation.total_shards_per_node, чтобы контролировать ваши сегменты индекса, равномерно распределенные по узлам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...