Como ativar o G1GC nos processadores de mensagens

Você está lendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

Este documento explica como ativar o coletor de lixo Garbage First (G1GC) nos processadores de mensagens do Apigee Edge.

O processador de mensagens do Apigee Edge é executado na Java Virtual Machine (JVM) e usa o coletor de lixo padrão , serial ou paralelo, dependendo das configurações de hardware e sistema operacional. Em determinadas circunstâncias e com base nas suas necessidades, talvez você queira mudar o tipo de coletor de lixo usado no processador de mensagens.

O G1GC é o coletor de lixo geracional de estilo de servidor de baixa pausa para Java HotSpot VM, que melhora o desempenho geral do processador de mensagens. Normalmente, ele é projetado para aplicativos com conjuntos de dados de tamanho médio a grande em que o tempo de resposta é mais importante do que a capacidade de processamento geral. Por exemplo, você pode usar o G1GC se o tamanho do heap for grande (maior que 3 GB).

Geralmente, é recomendável definir outro parâmetro da JVM UseStringDeduplication junto com o G1GC. Esse parâmetro otimiza o uso da memória heap Java, fazendo com que os valores de string duplicados ou idênticos compartilhem a mesma matriz de caracteres.

Antes de começar

Como ativar o G1GC nos processadores de mensagens

Esta seção explica como ativar o G1GC no processador de mensagens do Edge. O G1GC pode ser ativado pela propriedade useG1GC no componente do processador de mensagens. Por padrão, essa propriedade é definida como false nos processadores de mensagens. Para configurar qualquer propriedade no processador de mensagens, use o token de acordo com a sintaxe descrita em Como configurar o Edge.

Para ativar o G1GC nos processadores de mensagens, siga estas etapas:

  1. Localizar token para a propriedade useG1GC
  2. Ativar o G1GC no processador de mensagens

Localizar token para a propriedade useG1GC

As etapas a seguir descrevem como localizar o token para a propriedade useG1GC:

  1. Pesquise a propriedade useG1GC no diretório de origem do processador de mensagens /opt/apigee/edge-message-processor/source usando o seguinte comando:
    grep -ri "useG1GC" /opt/apigee/edge-message-processor/source
  2. A saída desse comando mostra o token da propriedade useG1GC do processador de mensagens da seguinte maneira:
    /opt/apigee/edge-message-processor/source/conf/system.properties:useG1GC={T}conf_system_useG1GC{/T}

    Em que a string entre as tags {T}{/T} é o nome do token que você pode definir no arquivo .properties do processador de mensagens. Assim, o token da propriedade useG1GC é o seguinte:

    conf_system_useG1GC

Ativar o G1GC nos processadores de mensagens

As etapas a seguir descrevem como ativar o G1GC nos processadores de mensagens do Apigee:

  1. Abra o arquivo /opt/apigee/customer/application/message-processor.properties na máquina do processador de mensagens em um editor. Se o arquivo ainda não existir, então crie-o. Exemplo:
    vi /opt/apigee/customer/application/message-processor.properties
  2. Adicione a seguinte linha a esse arquivo:
    conf_system_useG1GC=true
  3. Salve as alterações.
  4. Verifique se esse arquivo de propriedades pertence ao usuário apigee. Exemplo:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. Reinicie o processador de mensagens usando o seguinte comando:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  6. Se você tiver mais de um processador de mensagens, repita essas etapas em todos eles.

Como verificar a configuração do G1GC nos processadores de mensagens

Esta seção explica como verificar se a configuração do G1GC foi modificada com sucesso nos processadores de mensagens.

Mesmo que você use o token conf_system_useG1GC para ativar o G1GC no processador de mensagens, é necessário verificar se a propriedade real useG1GC foi definida com o novo valor da seguinte maneira:

  1. Pesquise a propriedade useG1GC no diretório /opt/apigee/edge-message-processor/conf e verifique se ela foi definida com o novo valor. Exemplo:
    grep -ri "useG1GC" /opt/apigee/edge-message-processor/conf
  2. Se o G1GC for ativado com sucesso no processador de mensagens, o comando anterior mostrará o novo valor no arquivo system.properties.

    O resultado de amostra do comando anterior, depois de ativar o G1GC no processador de mensagens é o seguinte:

    /opt/apigee/edge-message-processor/conf/system.properties:useG1GC=true

    No exemplo de saída, observe que a propriedade useG1GC foi definida com o novo valor true em system.properties. Isso indica que o G1GC foi ativado com sucesso no processador de mensagens.

  3. Se você ainda vir o valor antigo da propriedade useG1GC, verifique se você seguiu todas as etapas descritas em Como ativar o G1GC nos processadores de mensagens corretamente. Se você perdeu alguma etapa, repita todas as etapas corretamente.
  4. Se você ainda não conseguir ativar o G1GC, entre em contato com o suporte do Apigee Edge.

E agora?

Como ativar a desduplicação de strings nos processadores de mensagens