O Edge para nuvem privada versão 4.52.01 é fornecido com o Qpid Broker-J 8.0.6. Nesta página, descrevemos
considerações de memória e disco para
o componente apigee-qpidd
do Edge para nuvem privada (com agente baseado em Java);
As seções abaixo se aplicam especificamente aos
Caso de uso do Qpid e explicar como ajustar o Qpid usando os mecanismos de configuração da Apigee.
Qpid na Apigee
Na Apigee, o Qpid é usado em dois fluxos de trabalho principais:
- Analytics
- Monetização
Em ambos os fluxos de trabalho, o processador de mensagens gera mensagens, coletados em lotes e enviados ao Qpid. Para o Analytics, as mensagens são lidas pelo Qpid-server. para monetização, elas são lidas pelo servidor de classificação (parte do management-server). Depois de lidas, as mensagens em lote são desagrupadas e ingeridas.
Configurações recomendadas
As seções a seguir descrevem as configurações recomendadas para memória e disco com Qpid. Essas configurações têm como base uma única mensagem de 2 KB para o Google Analytics ou Monetização. Com um tamanho de lote padrão de 50, cada mensagem em Qpid seria de aproximadamente 100 KB. Apigee permite que os proxies modifiquem e adicionem informações adicionais a uma mensagem (Análise ou monetização). Em casos extremos, isso pode alterar significativamente o tamanho do uma única mensagem e a mensagem geral em lote em Qpid. Embora a abordagem geral sobre memória e disco nas seções abaixo se mantêm verdadeiras mesmo nesses casos, pode ser necessário realizar ajustes adicionais no Qpid para garantir operações sem problemas.
Memória
O Qpid Broker usa dois tipos de memória: fora do heap e de heap. O Qpid armazena mensagens em memória fora do heap e usa memória de heap para tarefas internas, mensagens para filas, trocas etc. Na maioria das circunstâncias, a Apigee recomenda que você mantenha uma Proporção de 3:1 entre memória de heap e fora do heap para o Qpid Broker.
As mensagens na memória fora do heap persistem no disco. Além disso, se a utilização total de que a memória fora do heap violar um determinado limite, o Qpid será configurado para transferir as mensagens para o disco.
Por padrão, a Apigee calcula a memória de heap e fora do heap do Qpid Broker com base na memória disponível no nó. Os scripts da Apigee têm um limite flexível de 4 GB combinados para o heap do Qpid Broker e fora do heap. Para substituir esses limites, use as duas configurações abaixo para definir seus próprios valores para a memória de heap do Qpid e a memória fora do heap.
- Configuração para memória de heap:
bin_run-qpidd_qpid.run.jvm.max_vm_heap=1024m
- Configuração para memória fora do heap:
bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m
Consulte Como mudar a configuração do Qpid para informações sobre como modificar as configurações.
Para mais informações, consulte Referência do Apache Qpid para memória.
Disco
O diretório de dados do Qpid Broker é $APIGEE_ROOT/data/apigee-qpidd
.
Os registros do Qpid Broker são armazenados em $APIGEE_ROOT/var/log/apigee-qpidd
.
O desempenho do sistema de arquivos que hospeda o diretório de dados é fundamental para o desempenho do como um todo. Para um melhor desempenho, escolha um dispositivo com baixa latência e que seja não são usados por outros aplicativos.
O Qpid Broker mantém as mensagens no diretório de dados. Por padrão, o agente aceita mensagens até que o sistema de arquivos que hospeda o diretório de dados esteja 80% cheio. É possível modificar isso ao modificar a configuração mostrada no exemplo abaixo em cada nó Qpid.
bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60
Neste exemplo, o agente rejeita novas mensagens quando o sistema de arquivos subjacente está em 60%. cheio.
Como mudar uma configuração do Qpid
Para mudar uma configuração do Qpid:
- Crie ou edite o seguinte arquivo:
$APIGEE_ROOT/customer/application/qpidd.properties
- Adicione, remova ou modifique as configurações conforme necessário.
Por exemplo, para alterar a memória máxima de heap do Qpid Broker para 6 GB, adicione a seguinte configuração
no arquivo:
bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
- Salve as mudanças e verifique se o usuário
apigee
pertence a ele e pode ser lido por ele:chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
- Reinicie o processo
qpidd
:apigee-service apigee-qpiddRestart