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

Vous consultez la documentation Apigee Edge.
Accédez à la documentation Apigee X.
info

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

La déduplication des chaînes est une fonctionnalité Java qui vous permet d'économiser de la mémoire occupée par des objets String en double dans les applications Java. Elle réduit l'espace mémoire utilisé des objets String dans le tas de mémoire Java en faisant en sorte que les valeurs String en double 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 des 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 beaucoup de chaînes.

La fonctionnalité de déduplication des chaînes ne peut être utilisée qu'avec le collecteur de déchets 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 G1GC et la déduplication des chaînes ensemble sur le processeur de messages.

Avant de commencer

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

Cette section explique comment activer la fonctionnalité de déduplication des chaînes sur les processeurs de messages Edge Processors. La déduplication des chaînes peut être activée via la propriété useStringDeduplication sur le 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 Configurer Edge.

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

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

Rechercher le jeton de la propriété useStringDeduplication

Pour rechercher le jeton de useStringDeduplication, procédez comme suit :

  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 de 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} est le 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 des chaînes sur les processeurs de messages

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

  1. Ouvrez le fichier /opt/apigee/customer/application/message-processor.properties sur la machine du 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 avez plusieurs processeurs de messages, répétez ces étapes sur tous les processeurs de messages.

Vérifier la déduplication des 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 des 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 /opt/apigee/edge-message-processor/conf répertoire 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 des chaînes est activée sur le processeur de messages, la commande précédente affiche la nouvelle valeur dans le fichier system.properties.

    Voici un exemple de résultat de la commande précédente après avoir activé la déduplication des chaînes sur le processeur de messages :

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

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

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

Et ensuite ?

Activer G1GC sur les processeurs de messages