Guida alle operazioni QPID

La versione 4.52.01 di Edge per il cloud privato viene fornita con Qpid Broker-J 8.0.6. In questa pagina vengono descritti considerazioni su memoria e disco il componente apigee-qpidd di Edge per Private Cloud (con broker basato su Java). Le sezioni che seguono si applicano nello specifico il caso d'uso di Qpid e spiega come ottimizzare Qpid utilizzando i meccanismi di configurazione di Apigee.

Qpid in Apigee

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

  • Analytics
  • Monetizzazione

In entrambi questi flussi di lavoro, il processore di messaggi genera messaggi, che sono 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 un dimensione predefinita del batch di 50, ciascun messaggio in Qpid sarà di circa 100 kB. Apigee consente ai proxy di modificare e aggiungere ulteriori informazioni a un messaggio (Analytics o Monetizzazione). In casi estremi, questo può modificare notevolmente le dimensioni di un singolo messaggio e il messaggio batch complessivo in Qpid. Mentre il team i suggerimenti relativi a memoria e disco nelle sezioni seguenti sono 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 dalla memoria esterna all'heap e utilizza la memoria heap per le proprie attività interne, messaggi in code, scambi e così via. Nella maggior parte dei casi, Apigee consiglia di mantenere Rapporto 3:1 tra memoria off-heap e heap per Qpid Broker.

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

Per impostazione predefinita, Apigee calcola la memoria heap e off-heap del broker Qpid in base alla memoria disponibile sul nodo. Gli script di Apigee hanno un limite flessibile di 4 GB combinati per l'heap e dalla memoria esterna dell'heap. Se desideri eseguire l'override di questi limiti, puoi utilizzare le due configurazioni di seguito per impostare i tuoi valori per la memoria heap e fuori dall'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 ulteriori informazioni, vedi 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 L'intermediario nel suo complesso. Per ottenere prestazioni ottimali, scegli un dispositivo con bassa latenza e che sia non è usato da altre applicazioni.

Il broker Qpid mantiene i propri messaggi nella directory dei dati. Per impostazione predefinita, l'intermediario accetta fino a quando il file system che ospita la directory dei dati non è pieno all'80%. Puoi modificare 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 è al 60% pieno.

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 la seguente configurazione sostituisci 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 apigee:
    chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
  4. Riavvia il processo qpidd:
    Apigee-service apigee-qpidd riavvio