La API de memoria caché dinámica está disponible para las aplicaciones Java EE desplegadas en WebSphere Application Server. Puede utilizar la memoria caché dinámica para almacenar en la memoria caché los datos empresariales, el HTML generado o para sincronizar los datos de la memoria caché en la célula utilizando el servicio de réplica de datos (DRS).
De forma predeterminada, todas las instancias de memoria caché dinámica creadas con el proveedor de memoria caché dinámica WebSphere eXtreme Scale tienen una alta disponibilidad. El coste del nivel y de la memoria de la alta disponibilidad depende de la topología utilizada.
Cuando se utiliza la topología incorporada, el tamaño de memoria caché está limitado a la cantidad de memoria libre de un único proceso de servidor y cada proceso de servidor almacena una copia completa de la memoria caché. Mientras el proceso de servidor único se sigue ejecutando, la memoria caché sobrevive. Los datos de la memoria caché sólo se perderán si todos los servidores que acceden a la memoria caché se concluyen.
Para el almacenamiento en la memoria caché que utiliza la topología particionada incorporada, el tamaño de memoria caché está limitado a un agregado del espacio libre disponible en todos los procesos del servidor. De forma predeterminada, el proveedor de memoria caché dinámica eXtreme Scale utiliza 1 réplica para cada fragmento primario, de forma que cada conjunto de datos de la memoria caché se almacena dos veces.
Utilice la siguiente fórmula A para determinar la capacidad de una memoria caché incorporada con particiones:
Fórmula A
F * C / (1 + R) = M
Para una cuadrícula de datos de WebSphere Application Server Network Deployment que tenga 256 MB de espacio disponible en cada proceso, con 4 procesos de servidor en total, una instancia de memoria caché en todos estos servidores podría almacenar hasta 512 megabytes de datos. En esta modalidad, la memoria caché puede sobrevivir a que se cuelgue un servidor sin perder datos. Además, se podrían concluir hasta dos servidores de forma secuencial sin perder datos. Así puede, para el ejemplo anterior, la fórmula es la siguiente:
256mb * 4 contenedores/ (1 primario + 1 réplica) = 512mb.
Las memorias caché que utilizan la topología remota tienen unas características de tamaño similares a las de las memorias caché que utilizan las particiones incorporadas, pero están limitadas por la cantidad de espacio disponible en todos los procesos de contenedor de eXtreme Scale.
En las topologías remotas, es posible aumentar el número de réplicas para proporcionar un nivel superior de disponibilidad con el coste de la sobrecarga de memoria adicional. En la mayoría de aplicaciones de memoria caché dinámica, esto debería ser innecesario, pero puede editar el archivo dynacache-remote-deployment.xml para aumentar el número de réplicas.
Utilice las fórmulas siguientes, B y C, para determinar el efecto de la adición de réplicas adicionales en la alta disponibilidad de la memoria caché.
Fórmula B
N = Minimum(T -1, R)
Fórmula C
Ceiling(T/ (1+N)) = m
Para el ajuste del rendimiento con el proveedor de memoria caché dinámica, consulte Ajuste del proveedor de la memoria caché dinámica.
Antes de que se pueda desplegar una aplicación utilizando el proveedor de memoria caché dinámica de WebSphere eXtreme Scale, los principios generales descritos en la sección anterior se deben combinar con los datos de entorno para los sistemas de producción. La primera figura para establecer es el número total de procesos de contenedor y la cantidad de memoria disponible en cada procesa para contener datos de memoria caché. Al utilizar la topología incorporada, los contenedores de memoria caché se volverán a colocar dentro de los procesos de WebSphere Application Server, de forma que haya un contenedor para cada servidor que comparte la memoria caché. Determinar la sobrecarga de memoria de la aplicación sin la memoria caché habilitada y WebSphere Application Server es el mejor método para descubrir la cantidad de espacio disponible en el proceso. Esto se puede realizar analizando los datos de la recogida de basura verbosa. Al utilizar la topología remota, esta información se puede encontrar consultando la salida de la recogida de basura verbosa de un contenedor autónomo iniciado recientemente, que todavía no se haya rellenado con datos de la memoria caché. El último concepto que se debe tener en cuenta al descubrir la cantidad de espacio disponible para el proceso para los datos de memoria caché es reservar algo de espacio de almacenamiento dinámico para la recogida de basura. La sobrecarga del contenedor, WebSphere Application Server o servidor autónomo, además del tamaño reservado para la memoria caché no debe representar más del 70% del almacenamiento dinámico total.
Una vez que se ha recopilado esta información, los valores se puede conectar a la fórmula A, descrita anteriormente, para determinar el tamaño máximo de la memoria caché particionada. Una vez que se conoce el tamaño máximo, el siguiente paso es determinar el número total de entradas de la memoria caché que se pueden soportar, que requiere que se determine el tamaño medio por entrada de memoria caché. El método sencillo par hacer esto es añadir un 10% al tamaño del objeto del cliente. Consulte la Guía de ajustes para memoria caché dinámica y réplica de datos para obtener información más deetallada sobre el dimensionamiento de las entradas de memoria caché al utilizar memoria caché dinámica.
Cuando está habilitada la compresión, afecta al tamaño del objeto del cliente, no a la sobrecarga del sistemas de colocación en la memoria caché. Utilice la siguiente fórmula para determinar el tamaño de un objeto guardado en la memoria caché cuando utilice la compresión:
S = O * C + O * 0.10
A continuación, utilice esta información para determinar el número total de entradas de memoria caché que se pueden soportar. Utilice la siguiente fórmula D:
Fórmula D
T = S / A
Fórmula E
Cs = Ts / Np