Dependendo dos requisitos de tráfego e processamento, talvez seja necessário alterar o tamanho da memória heap ou o tamanho dos metadados de classe dos nós que executam componentes da nuvem privada baseados em Java.
Nesta seção, fornecemos os tamanhos de memória de heap Java padrão e recomendados, bem como o processo para alterar os padrões. Por fim, esta seção descreve como alterar outras configurações da JVM usando arquivos de propriedades.
Tamanhos de memória heap padrão e recomendados
A tabela a seguir lista os tamanhos de memória heap padrão e recomendados para componentes do Private Cloud baseados em Java:
| Componente | Nome do arquivo de propriedades | Padrão Tamanho do heap |
Recomendado Tamanho do heap |
|---|---|---|---|
| Ambiente de execução | |||
| Cassandra | N/A | Configuração automática1 | Configuração automática1 |
| processador de mensagens | message-processor.properties |
512 MB | 3 GB a 6 GB2 |
| Roteador | router.properties |
512 MB | 512 MB |
| Google Analytics | |||
| Servidor do Postgres | postgres-server.properties |
512 MB | 512 MB |
| Servidor Qpid | qpid-server.properties |
512 MB | 2 GB a 4 GB |
| Administração | |||
| Servidor de gerenciamento | management-server.properties |
512 MB | 512 MB |
| Interface | ui.properties |
512 MB | 512 MB |
| OpenLDAP | N/A | App nativo3 | App nativo3 |
| Zookeeper | zookeeper.properties |
2.048 MB | 2.048 MB |
| Observações | |||
1 O Cassandra calcula dinamicamente o tamanho máximo do heap quando é iniciado. Atualmente, esse valor é metade da memória total do sistema, com um máximo de 8.192 MB. Para saber como definir o tamanho do heap, consulte Mudar o tamanho da memória heap. |
|||
| 2 Para processadores de mensagens, a Apigee recomenda que você defina o tamanho do heap
entre 3 GB e 6 GB. Aumente o tamanho do heap para mais de 6 GB somente depois de realizar
testes de desempenho.
Se o uso do heap se aproximar do limite máximo durante o teste de desempenho, aumente o limite máximo. Para saber como definir o tamanho do heap, consulte Mudar o tamanho da memória heap. |
|||
| 3 Nem todos os componentes da nuvem privada são implementados em Java. Como não são baseados em Java, os apps executados nativamente na plataforma host não têm tamanhos de heap Java configuráveis. Em vez disso, eles dependem do sistema host para o gerenciamento de memória. | |||
Para determinar a quantidade total de memória que a Apigee recomenda que você aloque para os componentes baseados em Java em um nó, adicione os valores listados acima para cada componente nesse nó. Por exemplo, se o nó hospedar os servidores Postgres e Qpid, a Apigee recomenda que a alocação de memória combinada seja entre 2,5 GB e 4,5 GB.
Para ver uma lista de hardware necessário (como RAM), consulte Requisitos de instalação.
Mudar os tamanhos da memória heap
Para alterar as configurações de memória de heap, edite o arquivo de propriedades do componente. Por exemplo, para o processador de mensagens, edite o arquivo /opt/apigee/customer/application/message-processor.properties.
Se o arquivo message-processor.properties
não existir ou se o arquivo .properties correspondente para qualquer componente do Edge não
existir, crie-o e mude a propriedade do arquivo para o usuário "apigee", como mostra o exemplo
a seguir:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
Se o componente estiver instalado em várias máquinas, como o processador de mensagens, edite o arquivo de propriedades em todas as máquinas que hospedam o componente.
A tabela a seguir lista as propriedades que você edita para mudar os tamanhos de heap:
| Propriedade | Descrição |
|---|---|
bin_setenv_min_mem |
O tamanho mínimo do heap. O padrão é baseado nos valores listados em Tamanhos de memória heap padrão e recomendados. Essa configuração corresponde à opção |
bin_setenv_max_mem |
O tamanho máximo do heap. O padrão é baseado nos valores listados em Tamanhos de memória heap padrão e recomendados. Essa configuração corresponde à opção |
bin_setenv_meta_space_size |
O tamanho padrão dos metadados da classe. O valor padrão é definido como o valor de
Essa configuração corresponde à opção |
Ao definir as propriedades de tamanho de heap em um nó, use o sufixo "m" para indicar megabytes, como mostrado no exemplo a seguir:
bin_setenv_min_mem=4500m bin_setenv_max_mem=4500m bin_setenv_meta_space_size=1024m
Depois de definir os valores no arquivo de propriedades, reinicie o componente:
/opt/apigee/apigee-service/bin/apigee-service component restart
Exemplo:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Mudar outras propriedades da JVM
Para configurações do Java não controladas pelas propriedades listadas acima, também é possível transmitir outras
flags ou valores da JVM para qualquer componente do Edge. Os arquivos *.properties serão lidos
pelo Bash e precisam estar entre '(aspas simples) para preservar caracteres literais ou
"(aspas duplas) se você precisar de expansão do shell.
bin_setenv_ext_jvm_opts: define qualquer propriedade Java não especificada por outras propriedades. Exemplo:bin_setenv_ext_jvm_opts='-XX:MaxGCPauseMillis=500'
No entanto, não use
bin_setenv_ext_jvm_optspara definir-Xms,-Xmxou-XX:MetaspaceSize, já que esses valores são controlados pelas propriedades listadas acima.
Para mais dicas sobre como configurar a memória para componentes da nuvem privada, consulte este artigo nos fóruns do Edge.