Задать вопрос
evgen_dev
@evgen_dev
Веб-разработчик

Сколько нужно number_of_shards в индексе?

Приветствую, как определить, сколько нужно установить number_of_shards при создании индекса в elasticseach, который будет работать на одном физическом сервере, в который будет загружено 100 млн. документов общим весом в несколько терабайт?

Дело в том, что эту настройку нельзя изменить после создания индекса и не очень охота в последствии заниматься переиндексацией.

Спасибо!
  • Вопрос задан
  • 1052 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@vitaly_il1
DevOps Consulting
Для кластера из одного сервера и большом кол-ве документов - кол-во шардов == кол-ву CPU cores.
Если есть возможность, разделите индекс на несколько, т.к. для одного сервера это большая база. Если можно как-то поделить данные - по времени, географии, релевантности, то это позволит искать в определенном индексе, а не во всей базе.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
заниматься придется - Эластик память жрет что тот лев
обычно 2-3, 2, по-моему, прямо в мануале написано, 3 тоже где-то рядом

а дальше - от числа RPS клиентов зависит

+ если гнаться за временем ответа (ну типа не больше 1мс) ради СЕО, возникает ситуация, когда склейка с кучи шардов тоже занимает время, и это обуславливает цифу шардов в кластере , например, не более 20
(хз что у вас за документы, думаю, в вашем случае потолок будет ниже)

ну и все, дальше уже распределение клиентов идет по кластерам
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы