WebSphere Real Time en un entorno autónomo

Puede utilizar WebSphere Real Time con WebSphere eXtreme Scale. Mediante la habilitación de WebSphere Real Time, puede obtener una recogida de basura más predecible junto con un tiempo de respuesta estable y coherente y un rendimiento de transacciones en un entorno autónomo de eXtreme Scale.

Ventajas de WebSphere Real Time

WebSphere eXtreme Scale crea muchos objetos temporales que se asocian con cada transacción. Estos objetos temporales se ocupan de peticiones, respuestas, secuencias de registro y sesiones. Sin WebSphere Real Time, el tiempo de respuesta de la transacción puede ascender hasta miles de milisegundos. Sin embargo, el uso de WebSphere Real Time con WebSphere eXtreme Scale puede aumentar la eficacia de la recogida de basura y reducir el tiempo de respuesta en un 10% del tiempo de respuesta de la configuración autónoma.

Habilitación de WebSphere Real Time

Instale WebSphere Real Time y el WebSphere eXtreme Scale autónomo en los sistemas en los que tiene previsto ejecutar eXtreme Scale. Establezca la variable de entorno JAVA_HOME para indicar un Java SE Runtime Environment (JRE) estándar.

Establezca la variable de entorno JAVA_HOME para indicar al WebSphere Real Time instalado. A continuación, habilite WebSphere Real Time del modo siguiente.

  1. Edite el archivo de instalación autónomo objectgridRoot/bin/setupCmdLine.sh | .bat eliminando el comentario de la siguiente línea.

    WXS_REAL_TIME_JAVA="-Xrealtime -Xgcpolicy:metronome -Xgc:targetUtilization=80"

  2. Guarde el archivo.

Ahora, ha habilitado WebSphere Real Time. Si desea inhabilitar WebSphere Real Time, puede volver a añadir el comentario a la misma línea.

Procedimientos recomendados

WebSphere Real Time permite a las transacciones eXtreme Scale tener un tiempo de respuesta más predecible. Los resultados muestran que la desviación de un tiempo de respuesta de una transacción eXtreme Scale mejora significativamente con WebSphere Real Time, en comparación con el Java estándar con su recogida de basura predeterminada. La habilitación de WebSphere Real Time con eXtreme Scale es óptima si la estabilidad y el tiempo de respuesta de la aplicación son esenciales.

Los mejores procedimientos descritos en esta sección explican cómo hacer más eficaz a WebSphere eXtreme Scale a través del ajuste y de las prácticas de código, en función de la carga esperada.

  • Establezca el nivel correcto de uso de procesador para la aplicación y la recogida de basura.

    WebSphere Real Time proporciona la capacidad para controlar el uso del procesador, de forma que el impacto de la recogida de basura en la aplicación está controlado y minimizado. Utilice el parámetro -Xgc:targetUtilization=NN para especificar el NN porcentaje del procesador que es utilizado por la aplicación cada 20 segundos. El valor predeterminado para WebSphere eXtreme Scale es 80%, pero puede modificar el script en el archivo objectgridRoot/bin/setupCmdLine.sh para definir un número distintos como, por ejemplo, 70, que proporciona más capacidad de procesador a la recogida de basura. Despliegue los suficientes servidores para mantener la carga del procesador por debajo del 80% para las aplicaciones.

  • Establezca un tamaño mayor de memoria de almacenamiento dinámico.

    WebSphere Real Time utiliza más memoria que el Java típico, así que planifique WebSphere eXtreme Scale con una memoria de almacenamiento dinámico grande y establezca el tamaño del almacenamiento dinámico cuando inicie los servidores y contenedores de catálogo con el parámetro –jvmArgs –XmxNNNM en el mandato ogStartServer. Por ejemplo, podría utilizar el parámetro –jvmArgs –Xmx500M para iniciar los servidores de catálogo y utilizar el tamaño de memoria apropiado para iniciar los contenedores. Puede establecer el tamaño de la memoria en un 60-70% del tamaño de datos esperado por JVM. Si no establece este valor, se podría generar un error OutOfMemoryError. De forma opcional, también puede utilizar el parámetro –jvmArgs –Xgc:noSynchronousGCOnOOM para impedir el comportamiento nondeterministic cuando la JVM agota la memoria.

  • Ajuste las hebras para la recogida de basura.

    WebSphere eXtreme Scale crea muchos objetos temporales asociados a cada transacción y a hebras de llamada de procedimiento remoto (RPC). La recogida de basura tiene ventajas de rendimiento si el sistema tiene los suficientes ciclos de procesador. El número predeterminado de hebras es 1. Puede cambiar el número de hebras con el argumento –Xgcthreads n. El valor sugerido de este argumento es el número de núcleos que están disponibles con consideración del número de máquinas virtuales Java por sistema.

  • Ajuste el rendimiento para las aplicaciones de corta ejecución con WebSphere eXtreme Scale.

    WebSphere Real Time se ajusta para las aplicaciones de larga ejecución. Normalmente, debe ejecutar las transacciones continuas de WebSphere eXtreme Scale durante dos horas para obtener datos de rendimiento fiables. Puede utilizar el parámetro –Xquickstart para mejorar el rendimiento de las aplicaciones de corta ejecución. Este parámetro indica al compilador JIT (just-in-time) que utilice el nivel inferior de optimización.

  • Minimice la cola de cliente de WebSphere eXtreme Scale y la transmisión del cliente de WebSphere eXtreme Scale.

    La principal ventaja de utilizar WebSphere eXtreme Scale con WebSphere Real Time es tener un tiempo de respuesta de transacción muy fiable, que normalmente tiene varios tiempos de mejoras de magnitud de orden en la desviación del tiempo de respuesta de transacción. Las peticiones de cliente en cola y la transmisión de solicitud de cliente a través de otro software impacta en el tiempo de respuesta que está más allá del control de WebSphere Real Time y WebSphere eXtreme Scale. Debe cambiar las hebras y los parámetros de sockets para mantener una carga fija sin problemas sin ningún retardo significativo y reducir la profundidad de la cola.

  • Escriba aplicaciones WebSphere eXtreme Scale para utilizar las hebras de WebSphere Real Time.

    Sin modificar la aplicación, puede obtener un tiempo de respuesta de transacción de WebSphere eXtreme Scale muy fiable con varias mejoras de magnitud de orden en la desviación del tiempo de respuesta. Puede explotar de forma adicional la ventaja de hebras de las aplicaciones transaccionales de la hebra Java regular en RealtimeThread que proporciona un mejor control en la prioridad de la hebras y una planificación del control.

    Actualmente, la aplicación incluye el siguiente código.

    public class WXSCacheAppImpl extends Thread implements WXSCacheAppIF

    De forma opcional, puede sustituir este código por lo siguiente.

    public class WXSCacheAppImpl extends RealtimeThread implements WXSCacheAppIF