LINUX.ORG.RU
ФорумAdmin

Elasticsearch / openserach какими инструментами лучше всего анализировать потребление RAM, CPU?

 


0

1

Elasticsearch / openserach какими инструментами лучше всего анализировать потребление RAM, CPU? Что бы правильно расчитать необходимый обьем под конкретный набор данных.

Последний бэст практис, который я получал от elastic co - 8гб хипа на 1тб данных. Но в зависимости от нагрузки на кластер и имеющегося оборудования может понадобиться больше, вплоть до 20гб на 1тб данных (условно, если у вас простая хранилка логов - вам и 8гб хватит с головой, а если поисковый бэкенд для популярного сайта с фуллтекстом - тут требования увеличивать, и диски ускорять). Но при этом не больше 32гб хипа. Последние версии эластика сами высчитывают размер хипа при запуске в половину имеющейся оперативки, поэтому 64 гига памяти на ноду - оптимально (но опять же, смотреть на объем данных в первую очередь). Есть инсталляции большего размера, которые работают нормально, но в общем случае рекомендация про 32гб хипа - ограничение, связанное с логикой работы JVM.

CPU - бэст практиса, как такового, нет. Общая рекомендация - лучше больше слабых ядер, чем много мощных.

Инструменты для анализа - GET _nodes/stats и немножко логики в поисках, где кластер проседает. Если вместо json’а хочется красивые графики - рекомендую вот этот дашборд: https://grafana.com/grafana/dashboards/2322-elasticsearch/ - грузится он очень долго, особенно на больших кластерах, но дает ГОРЫ полезной информации по производительности кластера.

Но вообще - помимо анализа ram/cpu, рекомендую почитать гайды по оптимальному шардированию. Опять же, общая рекомендация - размер шардов влияет на производительность меньше, чем их количество, поэтому 50 гигабайтных шардов делают кластеру большее, чем один 50гиговый шард.

l0stparadise ★★★★★
()