Abilitazione della deduplicazione delle stringhe sui processori di messaggi

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

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

La deduplicazione delle stringhe è una funzionalità Java che consente di risparmiare la memoria occupata da oggetti stringa duplicati nelle applicazioni Java. Riduce l'utilizzo di memoria per gli oggetti String nella memoria heap Java, rendendo i valori String duplicati o identici condividono lo stesso array di caratteri.

Il processore di messaggi Apigee Edge è un componente basato su Java. L'utilizzo della deduplicazione di stringhe in un processore di messaggi può migliorare le prestazioni dei proxy API riducendo l'utilizzo della memoria, soprattutto se i proxy API fanno un uso intensivo delle stringhe.

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

Prima di iniziare

Attivazione della deduplicazione di stringhe sui processori di messaggi

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

Per abilitare la deduplicazione delle stringhe sui processori di messaggi, procedi nel seguente modo:

  1. Individua il token per la proprietà useStringDeduplicate
  2. Abilita useStringDeduplicate sul processore di messaggi

Individua il token per la proprietà useStringDeduplicate

I passaggi seguenti spiegano come individuare il token per useStringDeduplicate:

  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à useStringDeduplication del processore di messaggi, 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. Di conseguenza, il token per la proprietà useStringDeduplication è il seguente:

    conf_system_useStringDeduplication
    

Attiva deduplicazione stringhe sui processori di messaggi

I passaggi seguenti descrivono come abilitare la deduplicazione delle stringhe sui processori di messaggi Apigee:

  1. Apri il file /opt/apigee/customer/application/message-processor.properties nel computer del processore di messaggi in un editor. Se il file non esiste già, 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 disponi di più processori di messaggi, ripeti questi passaggi su tutti i processori di messaggi.

Verifica della deduplicazione di stringhe nei processori di messaggi

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

Anche se utilizzi il token conf_system_useStringDeduplication per abilitare la deduplicazione delle stringhe sul 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 directory /opt/apigee/edge-message-processor/conf 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 di stringhe viene attivata correttamente nel processore di messaggi, il comando precedente mostra il nuovo valore nel file system.properties.

    Il risultato di esempio del comando precedente, dopo aver abilitato la deduplicazione delle stringhe sul processore di messaggi, è il seguente:

    /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. Questo indica che la deduplicazione delle stringhe è stata abilitata correttamente sul processore di messaggi.

  3. Se vedi ancora il valore precedente per la proprietà useStringDeduplication, verifica di aver seguito correttamente tutti i passaggi descritti in Abilitare la deduplicazione delle stringhe sui processori di messaggi. Se hai saltato qualche passaggio, ripeti correttamente tutti i passaggi.
  4. Se ancora non sei in grado di abilitare la deduplicazione delle stringhe, contatta l'assistenza Apigee.

Passaggi successivi

Abilita G1GC sui processori di messaggi