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
- Si vous ne connaissez pas G1GC, consultez Premiers pas avec le récupérateur de mémoire G1.
- Si vous ne connaissez pas la déduplication de chaînes, consultez la page Déduplication de chaînes du récupérateur de mémoire G1.
- Si vous n'êtes pas familiarisé avec l'activation du G1GC sur les processeurs de messages en périphérie, consultez Activer G1GC sur les processeurs de messages.
- Si vous ne savez pas comment configurer des propriétés pour Edge sur Private Cloud, consultez la section Comment configurer Edge.
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:
- Localiser le jeton pour la propriété useStringDeduplication
- 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:
-
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
-
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:
-
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
-
Ajoutez la ligne suivante à ce fichier :
conf_system_useStringDeduplication=true
- Enregistrez les modifications.
-
Assurez-vous que ce fichier de propriétés appartient à l'utilisateur
apigee
. Exemple :chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Redémarrez le processeur de messages à l'aide de la commande suivante :
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- 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:
-
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
-
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 valeurtrue
danssystem.properties
. Cela indique que la déduplication de chaînes est correctement activée sur le processeur de messages. -
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. - Si vous ne parvenez toujours pas à activer la déduplication de chaînes, contactez l'assistance Apigee.