Activer la déduplication de chaînes sur les processeurs de messages

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Ce document explique comment activer la déduplication de chaîne sur les processeurs de messages d'Apigee Edge.

La déduplication de chaînes est une fonctionnalité Java qui vous aide à économiser la mémoire occupée par les objets String en double dans les applications Java. Elle réduit l'encombrement de la mémoire des objets String dans la mémoire du tas de mémoire Java en faisant en sorte que les valeurs de chaîne dupliquées ou identiques partagent le même tableau de caractères.

Le processeur de messages Apigee Edge est un composant basé sur Java. L'utilisation de la déduplication de chaînes dans un processeur de messages peut améliorer les performances de vos proxys d'API en réduisant l'utilisation de la mémoire, en particulier si les proxys d'API utilisent de manière intensive des chaînes.

La fonctionnalité de déduplication de chaînes ne peut être utilisée qu'avec le récupérateur de mémoire G1 (G1GC) dans les applications Java. Si vous souhaitez activer cette fonctionnalité sur le processeur de messages, vous devez déjà avoir activé G1GC, ou activer à la fois G1GC et la déduplication de chaînes sur le processeur de messages.

Avant de commencer

Activer la déduplication de chaînes sur les processeurs de messages

Cette section explique comment activer la fonctionnalité de déduplication de chaînes sur les processeurs de messages Edge. La déduplication de chaînes peut être activée via la propriété useStringDeduplication du composant "Processeur de messages". Par défaut, cette propriété est définie sur "false" sur les processeurs de messages. Pour configurer une propriété sur le processeur de messages, utilisez le jeton conformément à la syntaxe décrite dans Comment configurer Edge.

Pour activer la déduplication de chaînes sur les processeurs de messages, procédez comme suit:

  1. Localiser le jeton pour la propriété useStringDeduplication
  2. Activer useStringDeduplication sur le processeur de messages

Localiser le jeton pour la propriété useStringDeduplication

Les étapes suivantes décrivent comment localiser le jeton pour useStringDeduplication:

  1. Recherchez la propriété useStringDeduplication dans le répertoire source du processeur de messages /opt/apigee/edge-message-processor/source à l'aide de la commande suivante :
    grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/source
    
  2. Le résultat de cette commande affiche le jeton pour la propriété useStringDeduplication du processeur de messages comme suit :
    /opt/apigee/edge-message-processor/source/conf/system.properties:useStringDeduplication={T}conf_system_useStringDeduplication{/T}
    

    Où la chaîne entre les balises {T}{/T} correspond au nom du jeton que vous pouvez définir dans le fichier .properties du processeur de messages. Ainsi, le jeton de la propriété useStringDeduplication est le suivant:

    conf_system_useStringDeduplication
    

Activer la déduplication de chaînes sur les processeurs de messages

Les étapes suivantes décrivent comment activer la déduplication de chaînes sur les processeurs de messages Apigee:

  1. Ouvrez le fichier /opt/apigee/customer/application/message-processor.properties sur le processeur de messages dans un éditeur. Si le fichier n'existe pas déjà, créez-le. Exemple :
    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Ajoutez la ligne suivante à ce fichier :
    conf_system_useStringDeduplication=true
    
  3. Enregistrez les modifications.
  4. Assurez-vous que ce fichier de propriétés appartient à l'utilisateur apigee. Exemple :
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Redémarrez le processeur de messages à l'aide de la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Si vous disposez de plusieurs processeurs de messages, répétez ces étapes sur chacun d'eux.

Vérifier la déduplication de chaînes sur les processeurs de messages

Cette section explique comment vérifier que la déduplication des chaînes a bien été activée sur les processeurs de messages.

Même si vous utilisez le jeton conf_system_useStringDeduplication pour activer la déduplication de chaînes sur le processeur de messages, vous devez vérifier que la propriété useStringDeduplication a été définie avec la nouvelle valeur, comme suit:

  1. Recherchez la propriété useStringDeduplication dans le répertoire /opt/apigee/edge-message-processor/conf et vérifiez qu'elle a été définie avec la nouvelle valeur. Exemple :
    grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/conf
    
  2. Si la déduplication de chaînes est correctement activée sur le processeur de messages, la commande précédente affiche la nouvelle valeur dans le fichier system.properties.

    L'exemple de résultat de la commande précédente une fois que vous avez activé la déduplication de chaînes sur le processeur de messages est le suivant:

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

    Dans l'exemple de sortie, notez que la propriété useStringDeduplication a été définie avec la nouvelle valeur true dans system.properties. Cela indique que la déduplication de chaînes est correctement activée sur le processeur de messages.

  3. Si vous voyez toujours l'ancienne valeur pour la propriété useStringDeduplication, vérifiez que vous avez correctement suivi toutes les étapes décrites dans la section Activer la déduplication de chaînes sur les processeurs de messages. Si vous avez manqué une étape, répétez-la correctement.
  4. Si vous ne parvenez toujours pas à activer la déduplication de chaînes, contactez l'assistance Apigee.

Étapes suivantes

Activer G1GC sur les processeurs de messages