Повторный индекс при эластичном поиске занимает много времени

Это сценарий: в Index1 у меня более 60 00000 записей. В тот же индекс я помещаю данные со скоростью 630 записей в секунду, а затем я создал другой индекс Index2 и инициировал переиндексирование согласно этому документу: https://www.elastic.co/guide/en/elasticsearch/reference/6.8/docs-reindex.html

Для переноса 1000 записей в новый индекс потребовалось более 40 минут, но если я не помещаю его вообще, то такое же переиндексирование занимает 5 минут.

Есть ли способ более быстрой переиндексации, даже когда я помещаю данные со скоростью 600 записей в секунду, и почему это занимает так много времени. Я использую AWS elastic search версии 7.7, узлы m4.large.elasticsearch 2


person focode    schedule 24.08.2020    source источник
comment
прошло довольно много времени, было бы здорово, если бы вы могли проголосовать и принять ответ, если он был полезен, TIA :)   -  person user156327    schedule 22.12.2020


Ответы (3)


Чтение Elastic, и особенно скорость записи, в основном ограничивается ограничениями ввода-вывода базового хранилища. Если вы прекратите индексирование, переиндексирование ускорится, потому что для переиндексации доступно больше операций ввода-вывода в секунду и пропускная способность.

Попробуйте более быстрый диск с SSD или NVMe-SSD и предотвратите сетевое хранилище (ESB) в пользу объемы хранилища экземпляров, минимум требуемое количество операций ввода-вывода в секунду + пропускная способность в выбранном хранилище.

person ibexit    schedule 24.08.2020

С такой медлительностью индексации ibexit, вероятно, прав. У вас проблема с жестким диском.

Но это также некоторые передовые методы, которые могут сэкономить вам время. Первый совет - отключить реплики и обновить целевой индекс на время индексации. И снова включите его после завершения. index.number_of_replicas: 0 index.refresh_interval: -1

Вы можете прочитать здесь очень хорошую статью: https://www.elastic.co/guide/en/elasticsearch/reference/current/tune-for-indexing-speed.html.

person Jaycreation    schedule 25.08.2020

В дополнение к ответам @Ibexit и @Jay хотел подчеркнуть, что может быть несколько причин замедления, которые могут быть связаны с настройками ES и приложением, которое вы используете (и тем, как вы используете) для повторной индексации данных.

Я написал блог, в котором рассматриваются как проблемы со стороны ES, так и приложения, и выделяются короткие советы по улучшению конкретно повторное индексирование производительности.

person user156327    schedule 25.08.2020