ElasticSearch 6.0.1: ... / _ forcemerge API не масштабируется с большим количеством потоков (регулируется?) - PullRequest
1 голос
/ 05 марта 2019

Я использую ES 6.0.1 и мне приходится часто открывать / добавлять / закрывать индексы по многим индексам, обычно параллельно от разных клиентов.(Да, я должен открывать и закрывать каждый раз)

Это приводит к большому количеству маленьких сегментов Lucene на индекс, и упомянутая последовательность становится медленнее с течением времени (иногда в 2-5 раз медленнее).Стратегия слияния сегментов ES по умолчанию явно не работает.

Когда я использую API Force Merge для объединения сегментов в индексе, производительность моей последовательности возвращается к нормальной для обработанных индексов.Однако из-за большого количества индексов мне приходится применять его много раз для обработки всех индексов.Естественно, я запускаю его в нескольких потоках (соединениях), но кажется, что ES никогда не выполняет параллели с этой операцией, и в результате скорость слияния одинакова, независимо от того, сколько параллельных запросов я делаю.

Я прочитали попробовал что-то из здесь , но это не помогло.

Может ли кто-нибудь любезно предложить что-нибудь для этого?

1 Ответ

1 голос
/ 17 апреля 2019

Вы можете изменить размер пула потоков force_merge с помощью файла конфигурацииasticsearch, например:

thread_pool.force_merge.size: 5

И не забудьте перезапустить Elasticsearch после изменения конфигурации.

...