Guida alle operazioni QPID

Edge for Private Cloud versione 4.54.00 viene fornito con Qpid Broker-J 10.0.1. Questa pagina descrive le considerazioni relative alla memoria e al disco per il apigee-qpidd componente di Edge for Private Cloud (con Broker basato su Java). Le sezioni seguenti si applicano in modo specifico al caso d'uso di 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:

  • Analytics
  • 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 separati e inseriti.

Le sezioni seguenti descrivono le configurazioni consigliate per la memoria e il disco con Qpid. Queste configurazioni si basano su una dimensione di un singolo messaggio di 2 KB per Analytics o Monetizzazione. Con una dimensione predefinita del batch di 50, ogni messaggio in Qpid sarebbe di circa 100 KB. Apigee consente ai proxy di modificare e aggiungere informazioni aggiuntive a un messaggio (Analytics o Monetizzazione). In casi estremi, questo potrebbe modificare in modo significativo la dimensione di un singolo messaggio e il messaggio in batch complessivo in Qpid. Sebbene le raccomandazioni generali relative alla memoria e al disco nelle sezioni seguenti siano valide anche in questi casi, potrebbe essere necessario apportare ulteriori modifiche a Qpid per garantire un funzionamento senza problemi.

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 exchange e così via. Nella maggior parte dei casi, Apigee consiglia di mantenere un rapporto di 3:1 tra la memoria off-heap e la memoria heap per Qpid Broker.

I messaggi nella memoria off-heap vengono mantenuti sul 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 off-heap di Qpid Broker in base alla memoria disponibile sul nodo. Gli script di Apigee hanno un limite soft 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 riportate di seguito per impostare i tuoi valori 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 la sezione Come modificare una configurazione di Qpid per

Per ulteriori informazioni, consulta la sezione Riferimento Apache Qpid per la memoria.

Disco

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

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

Qpid Broker mantiene i messaggi nella directory dei dati. Per impostazione predefinita, Broker accetta i messaggi finché 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 riportato di seguito su ogni nodo Qpid.

bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60

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

Come modificare una configurazione di Qpid

Per modificare una configurazione di 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 heap massima di Qpid Broker a 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à dell'utente apigee e che sia leggibile da quest'ultimo:
    chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
  4. Riavvia il processo qpidd:
    apigee-service apigee-qpidd restart