Sugerencias de resolución de problemas para el servicio de memoria caché dinámica
El servicio de memoria caché dinámica funciona dentro de una JVM (Máquina virtual Java™) del servidor de aplicaciones, interceptando llamadas a objetos que se pueden incluir en memoria caché.
Los servlets no se guardan en la memoria caché
Respuesta recomendada |
---|
Habilita la colocación en memoria caché de servlets. En la página de valores de contenedor web de la consola administrativa, seleccione el recuadro de selección Habilitar la colocación en memoria caché de servlets. |
Las entradas de memoria caché no se graban en disco
Explicación | Respuesta recomendada |
---|---|
Las entradas de memoria caché se graban en disco cuando la memoria caché está completa y se añaden nuevas entradas a la memoria caché en memoria. Las entradas de memoria caché también se graban en disco cuando está habilitada la opción Vaciado en disco de la consola administrativa y se detiene el servidor. | Compruebe que la opción Descarga de disco este habilitada en la página Valores de servicio de memoria caché dinámica de la consola administrativa. Compruebe también que las entradas de memoria caché que se graban en disco son serializables y que no tienen la configuración PersistToDisk establecida como false. |
Algunos servlets no se duplican o no se graban en disco
Respuesta recomendada |
---|
Compruebe que los atributos y la respuesta son serializables.
Si no desea
almacenar los atributos, utilice la siguiente propiedad en la política de
memoria caché:<property name="save-attributes">false</property> |
El servicio de memoria caché dinámica no coloca en memoria caché fragmentos en Edge
Respuesta recomendada |
---|
Establezca la propiedad EdgeCacheable como true en
la política de memoria caché de esas entradas que se van a colocar en memoria caché
en Edge.<property name="EdgeCacheable">true</property> |
Las invalidaciones de memoria caché dinámica no se envían al plug-in de IBM HTTP Server
Explicación | Respuesta recomendada |
---|---|
El archivo DynaCacheEsi.ear tiene que enviar las invalidaciones a las memoria cachés externas. | Instale DynaCacheEsi.ear utilizando la consola administrativa. |
Las entradas de memoria caché se desalojan a menudo
Problema | Explicación | Respuesta recomendada |
---|---|---|
La memoria caché está completa y se añaden nuevas entradas a la memoria caché. | Las entradas de memoria caché se desalojan de la memoria caché cuando la memoria caché está completa y se añaden nuevas entradas a la memoria caché. Un mecanismo de desalojo LRU (el menos utilizado recientemente) elimina la entrada que no se ha utilizado hace más tiempo para dar cabida a las nuevas entradas. | Habilite Descarga de disco en la página Valores de servicio de memoria caché dinámica de la consola administrativa para que las entradas se graben en disco. También puede aumentar el tamaño de la memoria caché para dar cabida a más entradas. |
Las entradas de memoria caché en disco con tiempo de espera establecido como 0 caducan después de un día
Explicación | Respuesta recomendada |
---|---|
El ciclo de vida máximo de una entrada en la memoria caché en disco es de 24 horas. Un tiempo de espera de 0 en la política de memoria caché configura esas entradas para que permanezcan en la memoria caché en disco un día completo, a menos que se desalojen antes. | Establezca el tiempo de espera de la política de memoria caché con un valor menor que 0. |
No se pueden supervisar las entradas de memoria caché en Edge
Explicación | Respuesta recomendada |
---|---|
Utilice el supervisor de memoria caché dinámica para supervisar el contenido de la memoria caché, la memoria caché de disco y las memoria cachés externas como, por ejemplo, la memoria caché Edge. Para que la memoria caché del procesador ESI pueda mostrarse en el supervisor de memoria caché, la aplicación DynaCacheEsi.ear debe estar instalada y la propiedad esiInvalidationMonitor debe estar establecida como true en el archivo plugin-cfg.xml. |
Establezca la propiedad esiInvalidationMonitor del archivo plugin-cfg.xml en true. Consulte el artículo sobre visualización de información de la memoria caché para obtener más información sobre el control de la actividad del servicio de memoria caché dinámica. |
Ajustar la memoria caché a mi entorno
Respuesta recomendada |
---|
Utilice Tivoli Performance Viewer para estudiar el comportamiento en memoria caché de las aplicaciones. Considere también realizar las acciones siguientes:
|
Borrado de los archivos de memoria caché de disco después de instalar el fixpack o un nuevo release
Síntoma | Problema | Respuesta recomendada |
---|---|---|
Si el servidor se ha configurado para utilizar la memoria caché de disco, debe suprimir los archivos de memoria caché de disco porque dichos archivos no son compatibles con la versión anterior. | La anomalía producida al eliminar los archivos de memoria caché de disco
antiguos provoca un error de ClassCastException en el archivo
systemerr.log cuando se accede a la memoria caché desde el disco. Nota: En este tema se hace referencia a uno o más de los archivos de registro del servidor de aplicaciones. Como alternativa recomendada, puede configurar el servidor para utilizar la infraestructura de registro y rastreo HPEL en lugar de utilizar los archivos SystemOut.log , SystemErr.log, trace.log y activity.log en sistemas distribuidos y de IBM® i. Puede también utilizar HPEL junto con sus recursos de registro nativos de z/OS. Si utiliza HPEL, puede acceder a toda la
información de registro y rastreo utilizando la herramienta de línea de mandatos LogViewer desde
el directorio bin de perfil de servidor. Consulte la información sobre la utilización de HPEL
para resolver problemas de aplicaciones para obtener más información sobre la utilización de
HPEL.
|
Para suprimir la memoria caché de disco, siga estos pasos:
|
Definición del atributo flush en el valor true para cada distintivo <jsp:include> del archivo JSP (JavaServer Pages) que puede colocarse en memoria caché
Asegúrese de establecer el atributo flush en true en cada distintivo <jsp:include> del archivo JSP (JavaServer Pages) que puede colocarse en memoria caché.
Síntoma | Problema | Descripción | Respuesta recomendada |
---|---|---|---|
Cuando se obtiene el archivo JSP (JavaServer Pages) de la memoria caché dinámica, no se visualiza una parte de la página. | El atributo flush se establece en false en el distintivo <jsp: include> del archivo JSP. | Cuando el archivo JSP que puede colocarse en memoria caché incluye otro archivo JSP y si el atributo flush se establece en false en el distintivo <jsp:include>, no se almacena en memoria caché ninguno de los datos grabados en la corriente de salida padre antes del distintivo <jsp:include>. | Establezca flush=true en cada distintivo <jsp: include> del archivo JSP que puede colocarse en memoria caché. |
![[z/OS]](../images/ngzos.gif)
Actividad de E/S del sistema de archivos cuando el servidor de aplicaciones está desocupado
Síntoma | Explicación | Respuesta posible | Respuesta recomendada |
---|---|---|---|
Experimenta actividad de E/S del sistema de archivos cuando el servidor de aplicaciones está desocupado. WebSphere Application Server está sondeando el Sistema de archivos jerárquico (HFS) en busca del archivo cachespec.xml, incluso cuando no haya políticas de memoria caché definidas. | La memoria caché dinámica consulta el sistema de archivos cada 30 segundos para comprobar si hay actualizaciones en el archivo de política de memoria caché. Mediante la comprobación de si hay actualizaciones del archivo de política de memoria caché, la memoria caché dinámica puede actualizar automáticamente las políticas de memoria caché modificadas. | La memoria caché dinámica está habilitada de manera predeterminada porque varios componentes confían en ésta por motivos de rendimiento. Puede inhabilitar el servicio de memoria caché dinámica utilizando un script de wsadmin o mediante la consola administrativa. Consulte el tema Utilización del servicio de memoria caché dinámica para obtener más información sobre cómo habilitar el servicio de memoria caché dinámica. PRECAUCIÓN: Si se inhabilita la memoria caché dinámica podría experimentar una ralentización del rendimiento de seguridad porque
utiliza la funcionalidad de correlación distribuida del servicio de memoria caché dinámica.
|
Establezca flush=true en cada distintivo <jsp: include> del archivo JSP que puede colocarse en memoria caché. |
Limitación de memoria caché dinámica al utilizar el distintivo <c:import> de JSTL para incluir un fragmento
Problema | Descripción | Respuesta recomendada |
---|---|---|
Cuando se incluye un fragmento que se puede guardar en memoria caché utilizando el distintivo <c:import> de JSTL (JavaServer Pages Standard Tag Library), parte del contenido de página desaparece mientras que otra parte se visualiza dos veces en una coincidencia de memoria caché. | La memoria caché dinámica se basa en el desecho del contenido antes
y después de incluir un fragmento de modo que no se pierda el contenido
padre antes de la operación de inclusión y también para evitar que se
importe el contenido hijo al fragmento padre. No obstante, en el caso del distintivo <c:import> de JSTL, no se da soporte al atributo flush=true, que vacía el transcriptor padre antes de que se invoque el fragmento hijo. Asimismo, JSTL coloca las respuestas en el almacenamiento intermedio, de modo que el transcriptor hijo no se desecha después de que se cree el fragmento hijo. Posteriormente, la respuesta hija se migra al padre. Restricción:
La
memoria caché dinámica devolverá varias sentencias include cuando se utilice el
distintivo <c:import> JSTL en un archivo JavaServer Pages (JSP) en
memoria caché. |
Para evitar este problema, incluya la sentencia <c:import>
entre sentencias del método out.flush como se muestra a continuación:
|
Los mensajes del bus de integración de servicios se repiten
Los mensajes del bus de integración de servicios se repiten en los registros de los miembros del clúster en los que se aloja una aplicación de producción
Problema | Respuesta recomendada |
---|---|
En un entorno de varias células, los mensajes siguientes se repiten en los registros de los miembros del clúster que alojan la aplicación de producción:
|
En primer lugar, asegúrese de cada miembro del bus de integración de servicios en la célula remota se haya iniciado. A continuación, asegúrese de que el puerto SIB_ENDPOINT_ADDRESS se haya especificado correctamente para cada miembro del bus de integración de servicios en la célula remota o en el grupo principal. Si se ha especificado un puerto erróneo, suprima la configuración de salida "--setup=dynacacheOutSIB --delete..."
y vuelva a configurarlo utilizando el puerto correcto. Cuando todo funcione correctamente, se visualizará un mensaje similar
al siguiente en el archivo de registro:
|
El componente de mensajería de la plataforma no puede autenticar el ID de usuario
Explicación | Respuesta recomendada |
---|---|
En un entorno de varias células, un miembro de bus de integración de servicios tiene el siguiente error:
Este mensaje podría ser confuso, ya que el servicio de memoria caché dinámica no utiliza buses seguros. |
Este mensaje puede indicar uno de los problemas siguientes: El servidor de bus de integración de servicios recibe una solicitud de un destino de bus que no existe. Asegúrese de que se haya utilizado el nombre de célula remota correcto al ejecutar "--setup=dynacacheOutSIB" y "--setup=dynacacheECA" en la célula de envío. No hay miembros del bus de integración de servicios disponibles. Este problema se produce a menudo porque se especifica el clúster incorrecto cuando se realiza la configuración de entrada "--setup=dynacacheInSIB". Asegúrese de que se haya especificado el clúster del bus de integración de servicios para la opción "--clúster" y no algún otro clúster. |
El ID exclusivo del motor de mensajería no coincide con el que se encuentra en el almacén de datos
Explicación | Respuesta recomendada |
---|---|
En un entorno de varias células, un miembro de bus de integración de servicios tiene el siguiente error:
|
Detenga el servidor, suprima el directorio en RAÍZ_INSTALACIÓN_WAS\profiles\AppSrv01\filestores\com.ibm.ws.sib que corresponda al miembro de bus de integración de servicios y reinicie el servidor. |
El script dynacacheJMSSIB no puede localizar el archivo DynacacheMessageHandler.ear
Explicación | Respuesta recomendada |
---|---|
En un entorno de varias células, el script dynacacheJMSSIB no puede
localizar el archivo DynacacheMessageHandler.ear y aparece el mensaje siguiente
en el registro:
|
Ejecute el script dynacacheJMSSIB en WAS_INSTALL_ROOT/profiles/PROFILE_NAME/bin de forma que éste pueda localizar ../../../util/dynacacheJMSSIB.py y ../../../installableApps/DynacacheMessageHandler.ear en las vías de acceso relativas correspondientes. |