Сколько сегментов следует использовать с Elasticsearch на Дев и окружающей среды ки?
По умолчанию Elasticsearch настроен на запуск с 5 сегментами.
Есть ли причина использовать 5 сегментов локально (на моей машине разработки) и на сервере непрерывной интеграции (для интеграционных тестов)? Лучше ли использовать 1?
Очевидно, что я не забочусь о масштабируемости в этих случаях, я просто хочу простейшую настройку.
2 ответа:
Самая простая настройка - это 1 первичный осколок, 0 реплик.
Если у вас есть только один узел и число реплик >0, он всегда будет
yellow
. Это не проблема как таковая, но они и не понадобятся.Если вы хотите проверить время отклика поиска с этим одним осколком, например, это зависит от некоторых факторов, достаточно ли
1
или вам нужно больше. Самое простое эмпирическое правило-иметь осколки размером не более 30-50ГБ, например. Но это число также зависит от факторов.Итак, я бы сказал, Если бы вы имейте один узел, начните с 1 первичной, 0 реплик. Если этот праймериз слишком "большой", подумайте о том, чтобы иметь больше праймериз (каждый осколок будет выполнять часть работы, и каждый будет использовать один центральный процессор для поиска).
После того, как вы переместили некоторые данные с определенной конфигурацией сегментов, вы не можете установить другое число сегментов без повторного индексирования данных. Поэтому я предполагаю, что конфигурация elasticsearch по умолчанию сделана так, что вы можете масштабировать свой кластер до 5 узлов (тогда каждый узел получает один сегмент) без головной боли.
Из документации elasticsearch:
Новый индекс в Elasticsearch по умолчанию содержит пять основных сегментов. Это означает, что мы можем распространить это индексируйте максимум пять узлов, с одним сегментом на каждом узле. Это большая емкость, и это происходит без необходимости думать об этом вообще!