Guida alle operazioni QPID

La versione 4.52.02 di Edge per il cloud privato viene fornita con Qpid Broker-J 8.0.6. Questa pagina descrive le considerazioni sulla memoria e sul disco per il componente apigee-qpidd di Edge per Private Cloud (con broker basato su Java). Le sezioni seguenti sono specifiche per il caso d'uso Qpid di Apigee e spiegano come ottimizzare Qpid utilizzando i meccanismi di configurazione di Apigee.

Qpid in Apigee

In Apigee, Qpid viene utilizzato in due flussi di lavoro principali:

  • Analisi
  • Monetizzazione

In entrambi questi flussi di lavoro, il processore di messaggi genera messaggi che vengono raccolti in batch e inviati a Qpid. Per Analytics, i messaggi vengono letti da Qpid-server; per la monetizzazione, vengono letti da Rating Server (parte di management-server). Una volta letti, i messaggi in batch vengono spostati e importati.

Le seguenti sezioni descrivono le configurazioni consigliate per memoria e disco con Qpid. Queste configurazioni si basano su un singolo messaggio di 2 kB per Analytics o monetizzazione. Con una dimensione del batch predefinita di 50, ogni messaggio in Qpid sarà di circa 100 kB. Apigee consente ai proxy di modificare e aggiungere ulteriori informazioni a un messaggio (analisi o monetizzazione). In casi estremi, questo può modificare in modo significativo le dimensioni di un singolo messaggio e del messaggio batch complessivo in Qpid. Sebbene i suggerimenti generali relativi a memoria e disco nelle sezioni seguenti siano validi anche in questi casi, potrebbe essere necessario apportare ulteriori modifiche a Qpid per garantire operazioni senza problemi.

Memoria

Qpid Broker utilizza due tipi di memoria: memoria non heap e memoria heap. Qpid archivia i messaggi in una memoria esterna all'heap e utilizza la memoria heap per le proprie attività interne, indirizza i messaggi a code e scambi e così via. Nella maggior parte dei casi, Apigee consiglia di mantenere un rapporto 3:1 tra la memoria fuori dall'heap e la memoria heap per Qpid Broker.

I messaggi nella memoria non heap vengono mantenuti su disco. Inoltre, se l'utilizzo totale della memoria off-heap supera una determinata soglia, Qpid è configurato per eseguire l'overflow dei messaggi sul disco.

Per impostazione predefinita, Apigee calcola la memoria heap e fuori heap del broker Qpid in base alla memoria disponibile sul nodo. Gli script di Apigee hanno un limite flessibile di 4 GB combinati per la memoria heap e fuori dall'heap di Qpid Broker. Se vuoi eseguire l'override di questi limiti, puoi utilizzare le due configurazioni riportate di seguito per impostare valori personalizzati per la memoria heap e off-heap di Qpid.

  • Configurazione della memoria heap: bin_run-qpidd_qpid.run.jvm.max_vm_heap=1024m
  • Configurazione per la memoria non heap: bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m

Consulta Come modificare una configurazione Qpid per informazioni su come eseguire l'override delle configurazioni.

Per maggiori informazioni, consulta Riferimento Apache Qpid per la memoria.

Disco

La directory dei dati di Qpid Broker è $APIGEE_ROOT/data/apigee-qpidd. I log di Qpid Broker sono archiviati in $APIGEE_ROOT/var/log/apigee-qpidd.

Le prestazioni del file system che ospita la directory dei dati sono fondamentali per le prestazioni del broker nel suo complesso. Per ottenere prestazioni ottimali, scegli un dispositivo che abbia una bassa latenza e che non sia utilizzato da altre applicazioni.

Il broker Qpid mantiene i propri messaggi nella directory dei dati. Per impostazione predefinita, il broker accetterà messaggi fino a quando il file system che ospita la directory dei dati non è pieno all'80%. Puoi modificare questa soglia eseguendo l'override della configurazione mostrata nell'esempio seguente su ogni nodo Qpid.

bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60

In questo esempio, il broker rifiuta i nuovi messaggi quando il file system sottostante è pieno al 60%.

Come modificare una configurazione Qpid

Per modificare una configurazione Qpid:

  1. Crea o modifica il seguente file:
    $APIGEE_ROOT/customer/application/qpidd.properties
  2. Aggiungi, rimuovi o modifica la configurazione in base alle tue esigenze. Ad esempio, per modificare la memoria massima dell'heap di Qpid Broker in 6 GB, aggiungi il seguente override di configurazione nel file:
    bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
  3. Salva le modifiche e assicurati che il file sia di proprietà e leggibile dall'utente di apigee:
    chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
  4. Riavvia il processo qpidd:
    Apigee-service apigee-qpidd riavvio