Según tus requisitos de tráfico y procesamiento, es posible que debas cambiar el tamaño de la memoria de montón o de los metadatos de clase de los nodos que ejecutan componentes de la nube privada basados en Java.
En esta sección, se proporcionan los tamaños de memoria de montón de Java predeterminados y recomendados, así como el proceso para cambiarlos. Por último, en esta sección, se describe cómo cambiar otras configuraciones de 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 la nube privada basados en Java:
Componente | Nombre del archivo de propiedades | Tamaño predeterminado del montón |
Tamaño de montón recomendado |
---|---|---|---|
Tiempo de ejecución | |||
Cassandra | N/A | Configurado automáticamente1 | Configurado 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 de montón cuando se inicia. En la actualidad, corresponde a la mitad de la memoria total del sistema, con un máximo de 8,192 MB. Si deseas obtener información para configurar el tamaño de montón, consulta Cómo cambiar el tamaño de la memoria de montón. |
|||
2 Para los procesadores de mensajes, Apigee recomienda que establezcas el tamaño de montón entre 3 GB y 6 GB. Aumenta el tamaño del montón a más 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. Si quieres obtener información para configurar el tamaño de montón, consulta Cómo cambiar el tamaño de memoria de montón. |
|||
3 No todos los componentes de la Nube privada se implementan en Java. Como no están basadas en Java, las apps que se ejecutan de forma nativa en la plataforma host no tienen tamaños de montón de Java configurables, sino que dependen del sistema host para administrar la memoria. |
Para determinar cuánta memoria total recomienda Apigee que asignes a los componentes basados en Java en un nodo, agrega los valores mencionados anteriormente para cada componente en ese nodo. Por ejemplo, si tu nodo aloja los servidores Postgres y Qpid, Apigee recomienda que tu 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 los Requisitos de instalación.
Cómo cambiar los tamaños de la memoria de montón
Para cambiar la configuración de la memoria de montón, edita el archivo de propiedades del componente. Por ejemplo, para el procesador de mensajes, 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 de “apigee”, como se muestra en el siguiente ejemplo:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
Si el componente está instalado en varias máquinas, como 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 el tamaño de montón:
Propiedad | Descripción |
---|---|
bin_setenv_min_mem |
Tamaño mínimo de montón. El valor predeterminado se basa en los valores que aparecen en Tamaños predeterminados y recomendados de memoria de montón. Esta configuración corresponde a la opción |
bin_setenv_max_mem |
Tamaño máximo de montón. El valor predeterminado se basa en los valores que aparecen en Tamaños predeterminados y recomendados de memoria de montón. Esta configuración corresponde a la opción |
bin_setenv_meta_space_size |
El tamaño predeterminado de los metadatos de la clase. El valor predeterminado es Esta configuración corresponde a la opción |
Cuando configures propiedades de tamaño de 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 configurar 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
Cómo cambiar otras propiedades de JVM
En el caso de la configuración de Java no controlada por las propiedades mencionadas anteriormente, también puedes establecer lo siguiente en el archivo de propiedades correspondiente para cualquier componente de Edge:
bin_setenv_ext_jvm_opts
: Configura cualquier propiedad de Java que no esté especificada por otras propiedades. Por ejemplo:bin_setenv_ext_jvm_opts=-XX:MaxGCPauseMillis=500
.Sin embargo, no uses
bin_setenv_ext_jvm_opts
para configurar-Xms
,-Xmx
ni-XX:MetaspaceSize
, ya que estos valores los controlan las propiedades mencionadas anteriormente.
Si deseas 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.