Моя цель - использовать ElasticSearch v1.3.2 для анализа перекрестных продаж продуктов, поэтому мне нужно отфильтровать интересующие поступления (например, алкогольный продукт) и найти самые продаваемые продукты каждой категории. Новые данные будут индексироваться ежемесячно, а мы будем выполнять по ним аналитические запросы.
Каждый документ представляет собой отдельную квитанцию с общей информацией (общие продажи, идентификатор магазина и т. Д.), Индивидуальной информацией о продукте (идентификатор продукта, количество продуктов, общая стоимость) и агрегированной информацией на разных уровнях дерева продуктов. Средняя квитанция состоит из 8 позиций, поэтому каждый документ квитанции содержит от 10 до 100 вложенных документов. В общей сложности у меня есть 50 миллионов квитанций с 390 миллионами вложенных документов продукта (плюс еще несколько для агрегированных уровней дерева продуктов).
В настоящее время один узел ES работает на виртуальной машине Ubuntu с 16 ГБ ОЗУ (50/50 для ES и ОС) и данными на виртуальном диске на жестком диске. Общий размер индекса составляет около 120 ГБ, и все поля имеют формат: doc_values из-за ранее возникших проблем с нехваткой памяти. После кеширования всех данных в ОЗУ время отклика составляет 500-4000 мс, но как только данные становятся достаточно большими, ES останавливается. У меня 140 шардов (10 на индекс), размер которых варьируется от 200 МБ до 2 ГБ.
После выполнения некоторых тестовых запросов ES теряет свою производительность, постоянно использует 50% ЦП для выполнения каких-либо действий (даже если запросы не выполняются), а запрос плагина head на «localhost: 9200 / stats? All = true» занимает до 45 секунд. Я установил разрабатываемую версию Marvel, и она начала сообщать 404 по запросам /.marver-kibana/appdata/marvelOpts.
Мне действительно нужно больше ОЗУ и / или больше узлов (в настоящее время ОЗУ составляет 13% от полного размера данных) или есть какие-то настройки, которые я должен попробовать? Я хочу проиндексировать в 4 раза больше текущих данных. Ранее я тестировал вирусную машину объемом 8 ГБ и обнаружил аналогичные симптомы на половине данных. Я предоставлю дополнительную информацию, если она будет полезна.