Como ativar a eliminação de duplicação de strings nos processadores de mensagens

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

Este documento explica como ativar a eliminação de duplicação de strings nos processadores de mensagens do Apigee Edge.

A eliminação de duplicação de strings é um recurso do Java que ajuda a economizar memória ocupada por objetos String duplicados em aplicativos Java. Isso reduz o consumo de memória dos objetos String na memória de heap Java fazendo com que os valores de string duplicados ou idênticos compartilhem a mesma matriz de caracteres.

O Apigee Edge Message Processor é um componente baseado em Java. O uso da eliminação de duplicação de strings em um processador de mensagens pode melhorar o desempenho dos proxies de API reduzindo o uso da memória, especialmente se os proxies de API fazem uso intenso de strings.

O recurso de eliminação de duplicação de strings pode ser usado somente com o Coletor de lixo G1 (G1GC) em aplicativos Java. Se você quiser ativar esse recurso no processador de mensagens, já precisará ativar a G1GC ou ativar a eliminação de duplicação de strings e de G1GC no processador de mensagens.

Antes de começar

Como ativar a eliminação de duplicação de strings nos processadores de mensagens

Esta seção explica como ativar o recurso de eliminação de duplicação de strings nos processadores de mensagens de borda. A eliminação de duplicação de strings pode ser ativada pela propriedade useStringDeduplication no componente Processador de mensagens. Por padrão, essa propriedade é definida como falsa 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 a eliminação de duplicação de strings nos processadores de mensagens, siga estas etapas:

  1. Localize o token para a propriedade useStringDe respectivo
  2. Ativar useStringDeEliminação no processador de mensagens (link em inglês)

Localizar o token para a propriedade useStringDe respectivo

As etapas a seguir descrevem como localizar o token para useStringDeviolation:

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

    A string entre as tags {T}{/T} é o nome do token que pode ser definido no arquivo .properties do processador de mensagens. Assim, o token da propriedade useStringDeduplication é o seguinte:

    conf_system_useStringDeduplication
    

Ativar a eliminação de duplicação de string nos processadores de mensagens

As etapas a seguir descrevem como ativar a eliminação de duplicação de string nos processadores de mensagens da 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, crie-o. Por exemplo:
    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Adicione a seguinte linha a este arquivo:
    conf_system_useStringDeduplication=true
    
  3. Salve as mudanças.
  4. Verifique se esse arquivo de propriedades pertence ao usuário apigee. Por 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 eliminação de duplicação de string nos processadores de mensagens

Esta seção explica como verificar se a eliminação de duplicação de strings foi ativada nos processadores de mensagens.

Mesmo que você use o token conf_system_useStringDeduplication para ativar a eliminação de duplicação de strings no processador de mensagens, será necessário verificar se a propriedade real useStringDeduplication foi definida com o novo valor da seguinte maneira:

  1. Procure a propriedade useStringDeduplication no diretório /opt/apigee/edge-message-processor/conf e verifique se ela foi definida com o novo valor. Por exemplo:
    grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/conf
    
  2. Se a eliminação de duplicação de strings for ativada no processador de mensagens, o comando anterior vai mostrar o novo valor no arquivo system.properties.

    O resultado da amostra do comando anterior depois de você ter ativado a eliminação de duplicação de string no processador de mensagens é o seguinte:

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

    No exemplo de saída, observe que a propriedade useStringDeduplication foi definida com o novo valor true em system.properties. Isso indica que a eliminação de duplicação de strings foi ativada no processador de mensagens.

  3. Se o valor antigo da propriedade useStringDeduplication ainda aparecer, verifique se você seguiu todas as etapas descritas em Como ativar a eliminação de duplicação de strings nos processadores de mensagens corretamente. Se você esqueceu alguma etapa, repita todas as etapas corretamente.
  4. Se ainda não for possível ativar a eliminação de duplicação de strings, entre em contato com o suporte da Apigee.

E agora?

Ativar o G1GC nos processadores de mensagens