ElasticSearch principal desaceleração em grandes agregações

2

Meu objetivo é usar o ElasticSearch v1.3.2 para analisar as vendas cruzadas de produtos, portanto, preciso filtrar os recibos de interesse (por exemplo, um produto alcoólico) e encontrar os produtos mais vendidos de cada categoria. Novos dados seriam indexados mensalmente e, enquanto isso, estaríamos realizando consultas analíticas sobre isso.

Cada documento é um recibo único com informações gerais (total de vendas, id da loja, etc.), informações de produto individuais (id do produto, número de productrs, valor total) e informações agregadas em diferentes níveis da árvore de produtos. Um recibo médio tem 8 itens, portanto, cada documento de recibo tem de 10 a 100 documentos aninhados. No total, tenho 50 milhões de recibos com 390 milhões de sub-documentos do produto (mais alguns para os níveis agregados da árvore de produtos).

Atualmente, um único nó ES está sendo executado em uma máquina virtual Ubuntu com 16 GB de RAM (50/50 para ES e OS) e os dados em um disco virtual em um HDD. O tamanho total do índice é de cerca de 120 GB e todos os campos têm "format: doc_values" devido a problemas anteriores de falta de memória. Depois que todos os dados são armazenados em cache na memória RAM, recebo tempos de resposta de 500 a 4000 ms, mas, quando os dados ficam suficientemente grandes, o ES é paralisado. Eu tenho 140 fragmentos (10 por índice) que variam de 200 MB a 2 GB de tamanho.

Depois de executar algumas consultas de benchmark, o ES perde seu desempenho, usa constantemente 50% da CPU para fazer algo (mesmo quando as consultas não estão em execução) e a consulta do plug-in principal a "localhost: 9200 / stats? all = true" até 45 segundos. Eu instalei uma versão de desenvolvimento da Marvel e ela começou a reportar 404 em consultas /.marver-kibana/appdata/marvelOpts.

Eu realmente preciso de mais RAM e / ou mais nós (atualmente a RAM é 13% do tamanho total dos dados), ou há alguns ajustes que eu deveria tentar? Gostaria de indexar 4x a quantidade de dados atuais. Anteriormente, eu estava testando em uma máquina virutal de 8 GB e obtive sintomas similares em metade dos dados. Vou fornecer mais informações se for útil.

    
por NikoNyrh 29.08.2014 / 19:00

0 respostas