Abilitazione della deduplicazione delle stringhe sui processori di messaggi

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Questo documento spiega come abilitare la deduplicazione delle stringhe nei processori di messaggi di Apigee Edge.

La deduplicazione delle stringhe è una funzionalità Java che consente di risparmiare memoria occupata da oggetti String duplicati nelle applicazioni Java. Riduce il footprint della memoria degli oggetti String nella memoria heap Java facendo in modo che i valori String duplicati o identici condividano lo stesso array di caratteri.

Il processore di messaggi di Apigee Edge è un componente basato su Java. L'utilizzo della deduplicazione delle stringhe in un processore di messaggi può migliorare il rendimento dei proxy API riducendo la memoria utilizzata, soprattutto se i proxy API utilizzano molto le stringhe.

La funzionalità di deduplicazione delle stringhe può essere utilizzata solo con G1 Garbage Collector (G1GC) nelle applicazioni Java. Se vuoi abilitare questa funzionalità nel processore di messaggi, devi già avere G1GC abilitato o abilitare sia G1GC che la deduplicazione delle stringhe contemporaneamente nel processore di messaggi.

Prima di iniziare

Abilitare la deduplicazione delle stringhe nei processori di messaggi

Questa sezione spiega come abilitare la funzionalità di deduplicazione delle stringhe nei processori di messaggi Edge Processors. La deduplicazione delle stringhe può essere abilitata tramite la proprietà useStringDeduplication nel componente del processore di messaggi. Per impostazione predefinita, questa proprietà è impostata su false nei processori di messaggi. Per configurare qualsiasi proprietà nel processore di messaggi, utilizza il token in base alla sintassi descritta in Come configurare Edge.

Per abilitare la deduplicazione delle stringhe nei processori di messaggi:

  1. Individua il token per la proprietà useStringDeduplication
  2. Abilita useStringDeduplication nel processore di messaggi

Individua il token per la proprietà useStringDeduplication

I passaggi seguenti spiegano come individuare il token per useStringDeduplication:

  1. Cerca la proprietà useStringDeduplication nella directory di origine del processore di messaggi /opt/apigee/edge-message-processor/source utilizzando il seguente comando:
    grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/source
  2. L'output di questo comando mostra il token per la proprietà del processore di messaggi useStringDeduplication come segue:
    /opt/apigee/edge-message-processor/source/conf/system.properties:useStringDeduplication={T}conf_system_useStringDeduplication{/T}

    Dove la stringa tra i tag {T}{/T} è il nome del token che puoi impostare nel file .properties del processore di messaggi. Pertanto, il token per la proprietà useStringDeduplication è il seguente:

    conf_system_useStringDeduplication

Abilitare la deduplicazione delle stringhe nei processori di messaggi

I passaggi seguenti spiegano come abilitare la deduplicazione delle stringhe nei processori di messaggi Apigee:

  1. Apri il file /opt/apigee/customer/application/message-processor.properties sulla macchina del processore di messaggi in un editor. Se il file non esiste, crealo. Ad esempio:
    vi /opt/apigee/customer/application/message-processor.properties
  2. Aggiungi la seguente riga a questo file:
    conf_system_useStringDeduplication=true
  3. Salva le modifiche.
  4. Assicurati che questo file delle proprietà sia di proprietà dell'utente apigee. Ad esempio:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. Riavvia il processore di messaggi utilizzando il seguente comando:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  6. Se hai più di un processore di messaggi, ripeti questi passaggi su tutti i processori di messaggi.

Verificare la deduplicazione delle stringhe nei processori di messaggi

Questa sezione spiega come verificare che la deduplicazione delle stringhe sia stata abilitata correttamente nei processori di messaggi.

Anche se utilizzi il token conf_system_useStringDeduplication per abilitare la deduplicazione delle stringhe nel processore di messaggi, devi verificare che la proprietà effettiva useStringDeduplication sia stata impostata con il nuovo valore come segue:

  1. Cerca la proprietà useStringDeduplication nella /opt/apigee/edge-message-processor/conf directory e verifica che sia stata impostata con il nuovo valore. Ad esempio:
    grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/conf
  2. Se la deduplicazione delle stringhe è stata abilitata correttamente nel processore di messaggi, il comando precedente mostra il nuovo valore nel file system.properties.

    Di seguito è riportato il risultato di esempio del comando precedente dopo aver abilitato la deduplicazione delle stringhe nel processore di messaggi:

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

    Nell'output di esempio, tieni presente che la proprietà useStringDeduplication è stata impostata con il nuovo valore true in system.properties. Ciò indica che la deduplicazione delle stringhe è stata abilitata correttamente nel processore di messaggi.

  3. Se continui a visualizzare il vecchio valore per la proprietà useStringDeduplication, allora verifica di aver seguito correttamente tutti i passaggi descritti in Abilitare la deduplicazione delle stringhe nei processori di messaggi correttamente. Se hai saltato un passaggio, ripeti correttamente tutti i passaggi.
  4. Se non riesci ancora ad abilitare la deduplicazione delle stringhe, contatta l'assistenza Apigee.

Passaggi successivi

Abilitare G1GC nei processori di messaggi