Ajuste del rendimiento de la JVM

Para un conseguir un mejor rendimiento, los valores de la JVM requieren un ajuste esmerado. Ajuste los valores de la JVM para evitar que se produzcan errores de asignación de memoria. Los síntomas de dichos errores pueden ir de problemas intermitentes de rendimiento hasta anomalías periódicas y el reinicio de la JVM. Considere los valores JVM predeterminados establecidos por HCL Commerce como punto de partida. La información en el tema de ajuste del rendimiento de JVM es específica para IBM JDK.

Antes de empezar

  • Determine la estrategia de almacenamiento en memoria caché y configure las memorias caché.
  • Entienda los valores para el ajuste de la JVM recomendados por WebSphere Application Server.

    El almacenamiento en memoria caché dinámico y el caché de sentencia preparado utilizan una parte significativa de memoria en el almacenamiento dinámico de la JVM. En función del número de entradas definidas en estas memorias caché, se requiere tanto una carga de trabajo y un tiempo antes de que estas memorias caché se llenen de forma que el sistema esté en un estado estable.

  • Entienda las técnicas de depuración y las herramientas de diagnóstico que están disponibles para ayudarle a resolver problemas y a mejorar el rendimiento en IBM Virtual Machine for Java. Para obtener más información, consulte Java Diagnostics Guide 6.
  • Examine Generational Concurrent Garbage Collector.

Ajuste de la máquina virtual java (JVM)

Cuando una Java Virtual Machine (JVM) se inicia, obtiene una gran área de memoria del sistema operativo subyacente. Esta área se denomina almacenamiento dinámico y Java realiza su propia gestión de memoria asignando áreas del almacenamiento dinámico a medida que el proceso necesita memoria.

El almacenamiento en memoria caché aumenta la complejidad del ajuste de memoria. Para reducir la complejidad, ajuste la memoria en etapas. Primero, desactive el almacenamiento en memoria caché dinámico y la memoria caché de sentencia preparada de WebSphere y, a continuación, actívelas de una en una.

El parámetro de almacenamiento dinámico de Java afecta al comportamiento de recogida de basura. El aumento del tamaño de almacenamiento dinámico da soporte a la creación de más objetos. Para establecer el tamaño de almacenamiento dinámico máximo, consulte .

Utilice la recogida de basura verbosa para determinar la cantidad de memoria libre en el almacenamiento dinámico. En general, menos del 40% de memoria libre hace que aumente la sobrecarga en la recopilación de información no válida y afecte de forma negativa al rendimiento. Para empezar, especifique un tamaño máximo de valores dinámicos en el valor de la propiedad -Xmx que proporciona alrededor del 45% de la memoria libre, y un tamaño mínimo de valores dinámicos en el valor de la propiedad -Xms con aproximadamente el 50% del tamaño mínimo de los valores dinámicos. No especifique nunca un tamaño mínimo de almacenamiento dinámico que sea inferior al nuevo tamaño de área máximo (tamaño nursery). La utilización de la Recogida de basura verbosa es uno de los métodos más eficientes para conocer la utilización de memoria y el comportamiento de recogida de basura en la Java Virtual Machine (JVM). Esta característica añade sentencias detalladas al archivo de anotaciones cronológicas de error de JVM del Servidor de aplicaciones acerca de la cantidad de memoria disponible y en uso.

Ventajas de la JVM de 64 bits

IBM recomienda JVM de 64 bits. La JVM de 64 bits ofrece diversas ventajas en comparación con la JVM de 32 bits:
  • La JVM de 64 bits le ofrece la capacidad de mantener más datos almacenados en memoria caché en el almacenamiento dinámico de la JVM. Esta capacidad hace que haya una menor dependencia de la característica de descarga de disco de DynaCache y, como consecuencia, menos tráfico de entrada/salida hacia el disco.
  • La capacidad de aumentar el tamaño máximo del almacenamiento dinámico más allá de 1,5 GB es beneficioso cuando la tienda experimenta problemas de contención de almacenamiento dinámico debido a una gran cantidad de objetos de aplicación no almacenables en memoria caché.
Nota: Los clientes de HCL Commerce con sitios con grandes ajustes que funcionan en una plataforma que tiene una función de memoria caché de sistema de archivos efectiva (por ejemplo AIX o Linux) pueden presentar un rendimiento total más bajo. Esto es comparado con el sitio basado en JVM de 32 bits.