“A memória é um recurso essencial, mas limitado, ao trabalhar com o Elasticsearch. Isso ocorre porque o Lucene fará uso de cada memória disponível. No entanto, quando equivocados, as configurações de memória podem levar a baixo desempenho e uso ineficiente de memória.”
Neste tutorial, mostraremos a configuração máxima e mínima da pilha JVM ao trabalhar com elasticsearch.
Vamos começar.
O que é uma memória de heap?
No contexto do Elasticsearch, a memória da heap refere -se à quantidade total de memória alocada para a máquina virtual Java em um nó de Elasticsearch.
Elasticsearch, padrão definirá o tamanho da pilha JVM com base na memória total do sistema base e no papel do nó. Isso significa que a alocação do tamanho da memória da heap pode variar dependendo se é um nó principal, dados, ingestão, data_cold, etc.
Para a maioria dos ambientes de produção, permitindo que o Elasticsearch gerencie o tamanho da pilha é recomendado e mais do que suficiente.
OBSERVAÇÃO:.
Configurando o tamanho mínimo e máximo da pilha
Para configurar o tamanho mínimo e máximo da pilha, podemos usar os parâmetros XMS e XMX. Probits de Elasticsearch estão definindo a memória máxima para não mais de 50% da memória total. Isso ocorre porque, além da pilha JVM, o Elasticsearch requer mais memória para outras operações, como cache do sistema de arquivos, comunicação de rede, etc. Da mesma forma, a JVM usará uma seção da memória restante de 50%.
Segundo, não defina os valores XMS e XMX para mais do que o limiar do OOPS. Para configuração segura, limite -o a 26 GB ou 30 GB em alguns sistemas.
Você pode verificar o limite no log do Elasticsearch.
Pesquisa de elastices de gato.log | Grep "Ponteiros de objeto"Você deve ver uma entrada como mostrado:
[2022-08-19T20: 01: 50.275] [info] [o.e.e.Nodeenvironment] [Debian11] Tamanho da pilha [1.9GB], comprimidos de objeto comum ponteiros [true]Você também pode consultar a API de informações dos nós para os valores XMS e XMX:
Curl -x Obtenha localhost: 9200/_nodes/_all/jvm?bonitoVocê deve ver uma saída como mostrado:
Defina o tamanho minumum e o máximo
Para modificar os valores do tamanho da pilha JVM, você precisa adicionar um arquivo de configuração no/etc/elasticsearch/jvm.opções.diretório D. Este arquivo deve terminar com o .Extensão de opções.
Por exemplo:
$ sudo touch/etc/elasticsearch/jvm.opções.d/heap.opçõesEdite o arquivo
$ sudo nano/etc/elasticsearch/jvm.opções.d/heap.opçõesAdicione o tamanho mínimo e máximo desejado da memória da heap.
Por exemplo, a entrada abaixo configura o tamanho mínimo e máximo da pilha para 4 GB.
Salve o arquivo e reinicie o Elasticsearch Service.
Conclusão
Neste tutorial, você aprendeu a pilha de JVM no contexto do Elasticsearch, como o Elasticsearch configura a pilha de JVM e como você pode modificar o tamanho da pilha.
Obrigado pela leitura!!