Guida alle operazioni QPID

Edge per Private Cloud versione 4.52.01 viene fornito con Qpid Broker-J 8.0.6. In questa pagina vengono descritte le considerazioni relative a memoria e disco per il componente apigee-qpidd di Edge per Cloud privato (con broker basato su Java). Le sezioni seguenti si applicano in particolare al 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 i 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 del server di gestione). Una volta letti, i messaggi in batch vengono estratti e importati in batch.

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, ciò può modificare notevolmente le dimensioni di un singolo messaggio e del messaggio in batch complessivo in Qpid. Sebbene i suggerimenti generali relativi a memoria e disco nelle sezioni seguenti siano validi anche in questi casi, potresti dover apportare ulteriori modifiche a Qpid per garantire operazioni senza intoppi.

Memoria

Qpid Broker utilizza due tipi di memoria: memoria off-heap e memoria heap. Qpid archivia i messaggi nella memoria off-heap e utilizza la memoria heap per le proprie attività interne, i messaggi diretti a code e scambi e così via. Nella maggior parte dei casi, Apigee consiglia di mantenere un rapporto 3:1 tra memoria off-heap e heap per Qpid Broker.

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

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

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

Per informazioni su come eseguire l'override delle configurazioni, consulta Come modificare una configurazione di Qpid.

Per maggiori informazioni, consulta la pagina relativa al riferimento di 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 a bassa latenza e che non sia utilizzato da altre applicazioni.

Il broker Qpid conserva i suoi 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 sarà 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 esigenze. Ad esempio, per modificare la memoria massima heap di Qpid Broker impostandola su 6 GB, aggiungi la seguente configurazione all'interno del 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 per l'utente apigee:
    chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
  4. Riavvia il processo qpidd:
    apigee-service apigee-qpidd riavvio