Según tus requisitos de tráfico y procesamiento, es posible que debas cambiar el tamaño de la memoria del montón o el tamaño de los metadatos de la clase para los nodos que ejecutan componentes de la nube privada basados en Java.
En esta sección, se proporcionan los tamaños de memoria del montón de Java predeterminados y recomendados, así como el proceso para cambiar los valores predeterminados. Por último, en esta sección, se describe cómo cambiar otros parámetros de configuración de la JVM con archivos de propiedades.
Tamaños de memoria de montón predeterminados y recomendados
En la siguiente tabla, se enumeran los tamaños de memoria de montón de Java predeterminados y recomendados para los componentes de nube privada basados en Java:
| Componente | Nombre del archivo de propiedades | Tamaño predeterminado del montón |
Tamaño del montón recomendado |
|---|---|---|---|
| Tiempo de ejecución | |||
| Cassandra | N/A | Se configura automáticamente1 | Se configura automáticamente1 |
| Message Processor | message-processor.properties |
512 MB | De 3 GB a 6 GB2 |
| Router | router.properties |
512 MB | 512 MB |
| Analytics | |||
| Servidor de Postgres | postgres-server.properties |
512 MB | 512 MB |
| Servidor Qpid | qpid-server.properties |
512 MB | De 2 GB a 4 GB |
| Administración | |||
| Servidor de administración | management-server.properties |
512 MB | 512 MB |
| IU | ui.properties |
512 MB | 512 MB |
| OpenLDAP | N/A | Aplicación nativa3 | Aplicación nativa3 |
| Zookeeper | zookeeper.properties |
2,048 MB | 2,048 MB |
| Notas | |||
1 Cassandra calcula de forma dinámica el tamaño máximo del montón cuando se inicia. Actualmente, este valor es la mitad de la memoria total del sistema, con un máximo de 8,192 MB. Para obtener información sobre cómo configurar el tamaño del montón, consulta Cómo cambiar el tamaño de la memoria del montón. |
|||
| 2 Para los Message Processors, Apigee recomienda que configures el tamaño del montón entre 3 GB y 6 GB. Aumenta el tamaño del montón más allá de 6 GB solo después de realizar
pruebas de rendimiento.
Si el uso del montón se acerca al límite máximo durante las pruebas de rendimiento, aumenta el límite máximo. Para obtener información sobre cómo configurar el tamaño del montón, consulta Cómo cambiar el tamaño de la memoria del montón. |
|||
| 3 No todos los componentes de la nube privada se implementan en Java. Como no se basan en Java, las apps que se ejecutan de forma nativa en la plataforma host no tienen tamaños de montón de Java configurables; en cambio, dependen del sistema host para la administración de la memoria. | |||
Para determinar cuánta memoria total recomienda Apigee que asignes a tus componentes basados en Java en un nodo, agrega los valores que se mencionaron antes para cada componente en ese nodo. Por ejemplo, si tu nodo aloja los servidores de Postgres y Qpid, Apigee recomienda que la asignación de memoria combinada sea de entre 2.5 GB y 4.5 GB.
Para obtener una lista del hardware requerido (como la RAM), consulta Requisitos de instalación.
Cambia los tamaños de la memoria de montón
Para cambiar la configuración de la memoria del montón, edita el archivo de propiedades del componente. Por ejemplo, para
el Message Processor, edita el
archivo /opt/apigee/customer/application/message-processor.properties.
Si el archivo message-processor.properties
no existe, o si el archivo .properties correspondiente para cualquier componente de Edge no
existe, créalo y, luego, cambia la propiedad del archivo al usuario "apigee", como se muestra en el siguiente
ejemplo:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
Si el componente se instala en varias máquinas, como el Message Processor, debes editar el archivo de propiedades en todas las máquinas que alojan el componente.
En la siguiente tabla, se enumeran las propiedades que puedes editar para cambiar los tamaños del montón:
| Propiedad | Descripción |
|---|---|
bin_setenv_min_mem |
Es el tamaño mínimo del montón. El valor predeterminado se basa en los valores que se indican en Tamaños de memoria de montón predeterminados y recomendados. Este parámetro de configuración corresponde a la opción |
bin_setenv_max_mem |
Es el tamaño máximo del montón. El valor predeterminado se basa en los valores que se indican en Tamaños de memoria de montón predeterminados y recomendados. Este parámetro de configuración corresponde a la opción |
bin_setenv_meta_space_size |
Es el tamaño predeterminado de los metadatos de la clase. El valor predeterminado se establece en el valor de
Este parámetro de configuración corresponde a la opción |
Cuando configures las propiedades del tamaño del montón en un nodo, usa el sufijo "m" para indicar megabytes, como se muestra en el siguiente ejemplo:
bin_setenv_min_mem=4500m bin_setenv_max_mem=4500m bin_setenv_meta_space_size=1024m
Después de establecer los valores en el archivo de propiedades, reinicia el componente:
/opt/apigee/apigee-service/bin/apigee-service component restart
Por ejemplo:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Cambia otras propiedades de la JVM
En el caso de la configuración de Java que no controlan las propiedades mencionadas anteriormente, también puedes pasar marcas o valores de JVM adicionales para cualquier componente de Edge. Bash leerá los archivos *.properties,
que deben estar encerrados entre '(comillas simples) para conservar los caracteres literales o
"(comillas dobles) si necesitas la expansión de shell.
bin_setenv_ext_jvm_opts: Establece cualquier propiedad de Java que no se especifique en otras propiedades. Por ejemplo:bin_setenv_ext_jvm_opts='-XX:MaxGCPauseMillis=500'
Sin embargo, no uses
bin_setenv_ext_jvm_optspara establecer-Xms,-Xmxni-XX:MetaspaceSize, ya que estos valores se controlan con las propiedades que se mencionaron anteriormente.
Para obtener sugerencias adicionales sobre cómo configurar la memoria para los componentes de la nube privada, consulta este artículo en los foros de Edge.