O Edge para nuvem privada versão 4.52.01 é enviado com o Qpid Broker-J 8.0.6. Nesta página, descrevemos as 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 ao caso de uso
do Qpid da Apigee e explicam 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:
- Análise
- Monetização
Em ambos os fluxos de trabalho, o processador de mensagens gera mensagens, que são coletadas em lotes e enviadas ao Qpid. Para o Analytics, as mensagens são lidas pelo Qpid-server. Para monetização, elas são lidas pelo Rating Server (parte do management-server). Depois de lidas, as mensagens em lote são separadas 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 são baseadas em um tamanho de mensagem único de 2 KB para Analytics ou Monetização. Com um tamanho de lote padrão de 50, cada mensagem no Qpid teria aproximadamente 100 KB. A Apigee permite que os proxies modifiquem e adicionem outras informações a uma mensagem (Análise ou monetização). Em casos extremos, isso pode alterar significativamente o tamanho de uma única mensagem e da mensagem em lote geral no Qpid. Embora as recomendações gerais sobre memória e disco nas seções abaixo sejam verdadeiras mesmo nesses casos, pode ser necessário realizar outros ajustes no Qpid para garantir operações sem problemas.
Memória
O agente do Qpid usa dois tipos de memória: memória fora de heap e memória de heap. O Qpid armazena mensagens em memória fora de heap e usa memória heap para as próprias tarefas internas, mensagens diretas para filas e trocas etc. Na maioria das circunstâncias, a Apigee recomenda que você mantenha uma proporção de 3:1 entre a memória fora de heap e a memória heap para o agente do Qpid.
As mensagens na memória fora da pilha persistem no disco. Além disso, se a utilização total da memória fora do heap violar um determinado limite, o Qpid será configurado para estourar as mensagens para o disco.
Por padrão, a Apigee calcula a memória heap e off-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 combinado para a memória heap e fora do heap do Qpid Broker. Se você quiser substituir esses limites, use as duas configurações abaixo para definir seus próprios valores para a memória heap e fora de heap do Qpid.
- Configuração para memória 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 alterar uma configuração do Qpid para mais informações sobre como modificar as configurações.
Para mais informações, consulte Referência do Apache Qpid para memória.
Disk
O diretório de dados do agente do Qpid é $APIGEE_ROOT/data/apigee-qpidd
.
Os registros do agente Qpid 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 agente como um todo. Para ter o melhor desempenho, escolha um dispositivo que tenha baixa latência e que não seja usado por outros aplicativos.
O agente Qpid mantém suas mensagens no diretório de dados. Por padrão, o agente aceitará mensagens até que o sistema de arquivos que hospeda o diretório de dados esteja com 80% de capacidade. É possível modificar esse limite substituindo a configuração mostrada no exemplo abaixo em cada nó do Qpid.
bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60
Nesse exemplo, o agente rejeita novas mensagens quando o sistema de arquivos subjacente está 60% cheio.
Como alterar uma configuração do Qpid
Para alterar uma configuração do Qpid:
- Crie ou edite o seguinte arquivo:
$APIGEE_ROOT/customer/application/qpidd.properties
- Adicione, remova ou modifique a configuração conforme necessário.
Por exemplo, para alterar a memória de heap máxima do agente do Qpid para 6 GB, adicione a seguinte substituição de configuração no arquivo:
bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
- Salve as mudanças e verifique se o arquivo pertence e pode ser lido pelo usuário
apigee
:chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
- Reinicie o processo
qpidd
:apigee-service de apigee-qpidd de reinicialização