Estás viendo la documentación de Apigee Edge.
Ir a la
documentación de Apigee X. info
En este documento, se explica cómo habilitar la deduplicación de cadenas en los procesadores de mensajes de Apigee Edge.
La deduplicación de cadenas es una función de Java que te ayuda a guardar la memoria ocupada por objetos String duplicados en aplicaciones de Java. Reduce el espacio en memoria de los objetos String en la memoria del montón de Java, ya que hace que los valores String duplicados o idénticos compartan el mismo array de caracteres.
El Message Processor de Apigee Edge es un componente basado en Java. El uso de la deduplicación de cadenas en un procesador de mensajes puede mejorar el rendimiento de tus proxies de API, ya que reduce el uso de memoria, en especial si los proxies de API usan cadenas en gran medida.
La función de deduplicación de cadenas solo se puede usar con el recolector de elementos no utilizados G1 (G1GC) en aplicaciones de Java. Si deseas habilitar esta función en el Message Processor, debes tener G1GC habilitado o habilitar G1GC y la deduplicación de cadenas juntos en el Message Processor.
Antes de comenzar
- Si no estás familiarizado con G1GC, lee Cómo comenzar a usar el recolector de elementos no utilizados G1
- Si no estás familiarizado con la deduplicación de cadenas, lee Deduplicación de cadenas del recolector de elementos no utilizados G1
- Si no estás familiarizado con la habilitación de G1GC en los procesadores de mensajes de Edge, lee Habilita G1GC en los procesadores de mensajes.
- Si no estás familiarizado con la configuración de propiedades para Edge en la nube privada, lee Cómo configurar Edge.
Habilita la deduplicación de cadenas en los procesadores de mensajes
En esta sección, se explica cómo habilitar la función de deduplicación de cadenas en los procesadores de mensajes de Edge. La deduplicación de cadenas se puede habilitar a través de la propiedad
useStringDeduplication en el componente Message Processor. De forma predeterminada, esta
propiedad se establece como falsa en los procesadores de mensajes. Para configurar cualquier propiedad en el procesador de mensajes, usa el token según la sintaxis que se describe en Cómo configurar Edge.
Para habilitar la deduplicación de cadenas en los procesadores de mensajes, realiza los siguientes pasos:
- Busca el token para la propiedad useStringDeduplication.
- Habilita useStringDeduplication en el procesador de mensajes.
Busca el token para la propiedad useStringDeduplication
En los siguientes pasos, se describe cómo ubicar el token para useStringDeduplication:
-
Busca la propiedad
useStringDeduplicationen el origen del procesador de mensajes directorio/opt/apigee/edge-message-processor/sourcecon el siguiente comando:grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/source
-
El resultado de este comando muestra el token para la propiedad del procesador de mensajes
useStringDeduplicationde la siguiente manera:/opt/apigee/edge-message-processor/source/conf/system.properties:useStringDeduplication={T}conf_system_useStringDeduplication{/T}En el ejemplo anterior, la cadena entre las etiquetas
{T}{/T}es el nombre del token que puedes establecer en el archivo.propertiesdel procesador de mensajes. Por lo tanto, el token para la propiedaduseStringDeduplicationes el siguiente:conf_system_useStringDeduplication
Habilita la deduplicación de cadenas en los procesadores de mensajes
En los siguientes pasos, se describe cómo habilitar la deduplicación de cadenas en los procesadores de mensajes de Apigee:
-
Abre el archivo
/opt/apigee/customer/application/message-processor.propertiesen la máquina del Message Processor en un editor. Si el archivo aún no existe, créalo. Por ejemplo:vi /opt/apigee/customer/application/message-processor.properties
-
Agrega la siguiente línea a este archivo:
conf_system_useStringDeduplication=true
- Guarda los cambios.
-
Asegúrate de que este archivo de propiedades sea propiedad del usuario
apigee. Por ejemplo:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Reinicia el Message Processor con el siguiente comando:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Si tienes más de un Message Processor, repite estos pasos en todos los Message Processor.
Verifica la deduplicación de cadenas en los procesadores de mensajes
En esta sección, se explica cómo verificar que la deduplicación de cadenas se haya habilitado correctamente en los procesadores de mensajes.
Aunque uses el token conf_system_useStringDeduplication para habilitar la deduplicación de cadenas en el Message Processor, debes verificar que la propiedad real useStringDeduplication se haya establecido con el valor nuevo de la siguiente manera:
-
Busca la propiedad
useStringDeduplicationen el/opt/apigee/edge-message-processor/confdirectorio y verifica que se haya establecido con el valor nuevo. Por ejemplo:grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/conf
-
Si la deduplicación de cadenas se habilita correctamente en el Message Processor, el comando anterior muestra el valor nuevo en el archivo
system.properties.El resultado de muestra del comando anterior después de habilitar la deduplicación de cadenas en el Message Processor es el siguiente:
/opt/apigee/edge-message-processor/conf/system.properties:useStringDeduplication=true
En el resultado de ejemplo, ten en cuenta que la propiedad
useStringDeduplicationse estableció con el valor nuevotrueensystem.properties. Esto indica que la deduplicación de cadenas se habilitó correctamente en el Message Processor. -
Si aún ves el valor anterior de la propiedad
useStringDeduplication, entonces verifica que hayas seguido correctamente todos los pasos que se describen en Habilita la deduplicación de cadenas en los procesadores de mensajes. Si omitiste algún paso, repite todos los pasos de nuevo correctamente. - Si aún no puedes habilitar la deduplicación de cadenas, comunícate con el equipo de asistencia de Apigee.