- Да, вы правы. При настройке сопоставления вы можете установить количество осколков (первичных) и реплик (копий). Осколки реплик в основном являются клонами ваших основных осколков, которые предназначены для обеспечения устойчивости, но также улучшают производительность чтения (они могут обслуживать операции чтения). Однако они могут снизить производительность записи, поскольку elasti c необходимо реплицировать данные по узлам, чтобы поддерживать их актуальность. В зависимости от количества узлов, вы можете выбрать количество первичных сегментов и фрагментов реплики, учитывая отказоустойчивость (что произойдет, если узел выйдет из строя)
- Да, если у вас есть один фрагмент с нулевыми репликами, согласно документация, это будет один поток. Это не обязательно плохо или хорошо. Имейте в виду, что в случае одного запроса этот запрос обслуживается несколькими потоками (несколькими фрагментами, содержащими части данных), и в конце эти записи необходимо накапливать для обслуживания клиенту. Это может повредить производительности. Более того, даже если у вас есть реплики, если у вас есть только один первичный фрагмент, это означает, что все данные вашего индекса находятся в сегменте (основной или реплике). Это означает, что любой запрос (например, любой поток) может обслуживать разные запросы, но каждый запрос будет обслуживаться одним потоком (накопление не требуется, что для МБ данных не является плохой вещью)
Поскольку размер данных невелик и вам нужна очень высокая пропускная способность, я бы предпочел иметь 1 первичную и столько же реплик, сколько узлов - 1 (которая будет содержать первичную). Теперь количество узлов зависит. Вам придется протестировать, но вы могли бы go с 3 узлами (что является обычной отказоустойчивой / эффективной первой установкой). Таким образом, 1 первичная и 2 реплики в общей сложности. Проверьте с этой настройкой и попробуйте стресс-тестирование.
Для стресс-теста вы можете использовать Rally , который является основой, которую использует эластичный поиск при тестировании новых версий.