Utilización de datos de instrumentación de proceso para el ajuste de la memoria caché

En el área de administración del servidor de la Process Admin Console, puede seleccionar Supervisión > Instrumentación para mostrar datos de instrumentación de proceso en el supervisor de instrumentación. Si los datos visualizados indican un número inesperadamente alto de faltas de memoria caché para los valores de memoria caché, es posible que pueda editar los archivos 100Custom.xml y alterar temporalmente los valores predeterminados problemáticos de los valores de memoria caché; sin embargo, no todas las memorias caché se pueden configurar. La configuración de memoria caché de fábrica de objetos persistentes (OP) y los valores de memoria caché de repositorio se reflejan en las secciones Fábrica de OP y Repositorio del supervisor de instrumentación. En algunas situaciones, puede que tenga que alterar temporalmente los valores predeterminados de la configuración de la memoria caché con valores nuevos.

Para obtener más información sobre el uso del monitor de instrumentación para mostrar o registrar datos de instrumentación de procesos, consulte el tema.

Memorias caché que no se pueden configurar

No puede configurar las siguientes memorias caché, que están en la sección FIFO de Instrumentación:
  • ContextAndTypeTreeElements
  • ContextTreeElements
  • Dependencia
  • ManagedAssets
  • ProjectDependency
  • SOAPConnector.XMLTypeDescriptors
  • UUIDListKey
  • Detalles de la versión
  • VersionSummaryId
  • WebAPIUserID
  • XMLTypeDescriptorContextContextAndTypeTreeElements

Configuración de la memoria caché de fábrica de objetos persistentes (OP) y la configuración de la memoria caché de repositorio

Tanto para la configuración de la memoria caché de fábrica de OP como para la configuración de la memoria caché de repositorio, un índice de coincidencia de memoria caché del 90 % se considera bastante satisfactorio. Sin embargo, los desaciertos de la memoria caché superiores al 50 % requieren algo de investigación. Para mejorar la proporción de aciertos de memoria caché en las faltas de memoria caché, puede especificar nuevos valores para los valores de memoria caché en los archivos 100Custom.xml. Los nuevos valores alterarán temporalmente los valores predeterminados existentes para los valores de memoria caché que normalmente se encuentran en otros archivos de configuración XML, como los archivos 00Static.xml. Generalmente, la modificación de la configuración de la memoria caché es una tarea iterativa.

Nota: La memoria no se asignará previamente de acuerdo con el tamaño de memoria caché especificado. Las memorias caché son ampliables hasta el tamaño especificado. La fila de tamaño de memoria caché representa el tamaño de la última memoria caché de lectura.

La configuración de la memoria caché de fábrica de objetos persistentes (OP) y la configuración de la memoria caché de repositorio que se reflejan en el supervisor de instrumentación se describen en las secciones siguientes:

Valores de la memoria caché de fábrica de OP

Una fábrica de objetos persistentes (OP) es una clase que se utiliza para crear objetos persistentes. Existe una fábrica de OP para cada tipo de objeto persistente, y cada fábrica de OP tiene una memoria caché para almacenar objetos persistentes de ese tipo.

Hay dos tipos de valores de fábrica de OC en Business Automation Workflow: versionado y sin versionar. En un objeto persistente con versión, cada vez que se modifica un objeto, el objeto nuevo se guarda por separado y no sobrescribe la versión antigua. Esto le permite ver los cambios realizados a lo largo del tiempo. En un OP sin versión, sólo se conserva la última modificación y las versiones más antiguas se descartan.

La tabla siguiente enumera los objetos persistentes con versión y sin versión que se encuentran en las secciones Fábrica de OP > Coincidencias de memoria caché y Fábrica de OP > Discrepancias de memoria caché del supervisor de instrumentación. La tabla también muestra los valores de la memoria caché de fábrica de OP correspondientes que puede ser necesario alterar temporalmente para mejorar la proporción de coincidencias de memoria caché con respecto a las discrepancias de memoria caché. Todos los valores de memoria caché se habilitan en los archivos de configuración XML, a menos que se indique lo contrario.

Tabla 1. . Valores de la memoria caché de fábrica de OP
Tipo de OP en el supervisor de instrumentación Valor y descripción Valor para añadir o actualizar en el archivo 100Custom.xml
Uno de:

Artefacto
BPDArtifactReference
Parámetro BPD
BlueprintSubscription
BPDEvento
Parámetro BPD
Entrenador
CoachResource
CoachView
Conector
Contribución
ESArtefacto
EnvironmentVariable

EnvironmentVariableSet
Epv
EpvVar
EventSubscription
ExtendedProperty
ExtendedPropertySet
HistoricalScenario
InfoPathForm
Disposición
ManagedAsset
Métrico
Partícipe
ProjectDefaults
ProjectDependency
RefPO
Informe
ReportVariable
ResourceBundleGroup
SLA
Marcador
SimulationScenario
TimingInterval
TrackingGroup
Tema UI
UserAttributeDefinition
WebService
default-versioned-po-cache-size
Este valor controla el número de objetos de la memoria caché de objetos persistentes (OP) con versión. El valor predeterminado es 5000.
Para entornos de poco volumen con relativamente pocas aplicaciones de proceso y coaches, el valor predeterminado puede ser suficiente. Sin embargo, para entornos más complejos con muchas aplicaciones de proceso o coaches, es posible que desee aumentar este valor para que las aplicaciones de proceso y los coaches se conserven en la memoria caché después de su uso inicial. Este paso puede mejorar el tiempo de respuesta al acceder a estas aplicaciones de proceso y coaches.
Siempre que los datos de instrumentación de proceso indican que hay un número excesivo de fallos de memoria caché de fábrica de OP, puede aumentar el valor de la memoria caché de OP con versión. Puede que tenga que iterar varios valores hasta determinar el mejor valor para su caso particular. Después de cambiar el valor, vuelva a comprobar los datos de instrumentación de proceso y adapte el valor según sea necesario.
El valor se encuentra en los archivos 00Static.xml aplicables, pero las actualizaciones del valor predeterminado del parámetro deben realizarse añadiendo el valor a los archivos 100Custom.xml.
<common>
   <default-versioned-po-cache-size merge="replace">7000</default-versioned-po-cache-size>
</common>
Uno de:

BPMSnapshotStatus
CaseProperty
Objeto ECMO
EnvironmentType
GovernanceAssignment
GovernanceEvent
MonitorProjectInterchange
PCIndexAction
PCIndexer
Registro de PC
Prioridad
ProjectSubscribed
ProjectSubscription
RepositoryLog
SharedToolKitUsage
Instantánea
TimePeriod
default-unversioned-po-cache-size
Este valor controla el número de objetos de la memoria caché de objetos persistentes (OP) sin versión. El valor predeterminado es 1000.
Para entornos de poco volumen con relativamente pocas aplicaciones de proceso y coaches, el valor predeterminado puede ser suficiente. Sin embargo, para entornos más complejos con muchas aplicaciones de proceso o coaches, es posible que desee aumentar este valor para que las aplicaciones de proceso y los coaches se conserven en la memoria caché después de su uso inicial. Este paso puede mejorar el tiempo de respuesta al acceder a estas aplicaciones de proceso y coaches.
Si los datos de instrumentación de proceso indican que hay un número excesivo de fallos de memoria caché de la fábrica de OP, puede aumentar el valor de la memoria caché de OP sin versión. Puede que tenga que iterar varios valores hasta determinar el mejor valor para su caso particular. Después de cambiar el valor, vuelva a comprobar los datos de instrumentación de proceso y adapte el valor según sea necesario.
El valor se encuentra en los archivos 00Static.xml aplicables, pero las actualizaciones del valor predeterminado del parámetro deben realizarse añadiendo el valor a los archivos 100Custom.xml.
<common>
   <default-unversioned-po-cache-size merge="replace">2000</default-unversioned-po-cache-size>
</common>
Uno de:

Proyecto
ContentObject
ContentObjectInstance
time-based-project-cache-enable
El valor time-based-project-cache-enable especifica si la memoria caché del objeto persistente es una memoria caché basada en el tiempo. De forma predeterminada, este valor está habilitado. El intervalo de caducidad está controlado por po-cache-expiration-interval, cuyo valor predeterminado es 20 segundos.
La memoria caché se restablece si caduca después del intervalo de caducidad especificado. A medida que se lee la memoria caché después de restablecerse, a veces puede ver recuentos de memoria caché incorrectos que son superiores al tamaño de la memoria caché.
default-unversioned-PO-cache-size
El valor default-unversioned-PO-cache-size controla el número de objetos en la memoria caché de objeto persistente sin versiones. El valor predeterminado es 1000.
El valor se encuentra en los archivos 00Static.xml aplicables, pero las actualizaciones del valor predeterminado del parámetro deben realizarse añadiendo el valor a los archivos 100Custom.xml.
<common>
   <time-based-project-cache-enable>true</time-based-project-cache-enable>
   <po-cache-expiration-interval>20000</po-cache-expiration-interval>
   <default-unversioned-po-cache-size merge="replace">2000</default-unversioned-po-cache-size>
</common>

Valores de la memoria caché de repositorio

La tabla siguiente lista los valores de memoria caché de repositorio que se reflejan en la sección Repositorio del supervisor de instrumentación. En algunas situaciones, puede ser necesario alterar temporalmente los valores de configuración de la memoria caché para mejorar la proporción de coincidencias de memoria caché con respecto a las discrepancias de memoria caché. Todos los valores de memoria caché se habilitan en los archivos de configuración XML, a menos que se indique lo contrario.

Tabla 2. . Valores de la memoria caché de repositorio
Nombre Valor y descripción Valor para añadir o actualizar en el archivo 100Custom.xml

Memoria caché de contexto de rama

branch-context-max-cache-size

Este valor especifica el número máximo de contextos de ramas que se conservan en la memoria caché del gestor de ramas, que contiene metadatos sobre el contenido de instantáneas en la memoria y se utiliza para mejorar el rendimiento de determinadas operaciones. El valor predeterminado es 64.

El valor se encuentra en los archivos .00Static.xml aplicables, pero las actualizaciones del valor predeterminado del parámetro deben realizarse añadiendo el valor a los archivos 100Custom.xml.

Si las aplicaciones de proceso son especialmente grandes y hay problemas de memoria en el servidor de Business Automation Workflow , es posible que sea necesario reducir el valor del valor, especialmente en los servidores de ejecución donde se crea una rama nueva para cada instantánea desplegada. De forma similar, para un servidor de procesos en un entorno con restricciones de memoria, reducir el tamaño de la memoria caché del gestor de ramas puede reducir la memoria de almacenamiento dinámico para aplicaciones de proceso grandes. Sin embargo, puede que tenga que aumentar el valor de establecimiento si la aplicación de proceso creada tiene un número grande de dependencias en los kits de herramientas.

Un kit de herramientas con un objeto de negocio ocupa menos de 1 MB de memoria para la entrada de memoria caché de rama y la memoria caché de instantánea. La aplicación Process Portal utiliza aproximadamente 11 MB de memoria. El kit de herramientas de datos del sistema utiliza varios cientos de MB de memoria. Existe una diferencia en el uso de memoria debido a la complejidad de las relaciones entre los artefactos del proyecto y el volumen de artefactos de cada proyecto. Por lo tanto, es difícil de predecir exactamente la cantidad de memoria adicional que se utilizará al ajustar la memoria caché de rama.

Para calcular el valor óptimo de velocidad a expensas de la memoria en un entorno de Workflow Server con varias aplicaciones de proceso desplegadas, un método consiste en realizar un recuento de filas de la tabla LSW_BRANCH en la base de datos, multiplicar este número por 1.1y, a continuación, utilizar el resultado como valor para el valor branch-context-max-cache-size . En este método se supone que todas las aplicaciones de proceso se utilizan relativamente con frecuencia y que desea sus contextos en memoria. Si se despliega una sola aplicación de proceso, el valor óptimo es el número de dependencias de esta aplicación de proceso más uno.
Nota: Siempre que se despliegue o se suprima una nueva aplicación de proceso o instantánea del entorno de Workflow Server , debe considerar la posibilidad de adaptar el tamaño de la memoria caché.
<server>
   <repository>
     <snapshot-cache-size-per-branch merge="replace">128</snapshot-cache-size-per-branch>
   </repository>
</server>

Memoria caché de contexto de instantánea

snapshot-cache-size-per-branch

Este valor especifica el número de instantáneas que se almacenan en la memoria caché para una sola rama en Workflow Center. El valor predeterminado es 64.

En entornos de Workflow Server , puede retener el valor predeterminado porque este valor se ignora en Workflow Server. Cada instantánea desplegada se despliega en una rama exclusiva en Workflow Server, lo que significa que la memoria caché de instantánea sólo contiene una entrada.

La memoria caché de la instantánea se ajusta de forma independiente de la memoria caché de la rama. Cada entrada de memoria caché de rama contiene una memoria caché de instantánea. En Workflow Center, todas las instantáneas de una rama utilizan la misma entrada de memoria caché de rama; por lo tanto, el número de entradas en la memoria caché de instantánea puede ser más de una. El número de entradas que son necesarias depende del número de instantáneas a las que se han accedido. Se accede a las instantáneas cuando se activa la instantánea o cuando los usuarios de Process Designer ven artefactos, reproducen artefactos o realizan ambas acciones en una versión de instantánea específica. Por lo tanto, el ajuste del tamaño de memoria caché de instantánea sólo es necesario para el servidor de Workflow Center . La necesidad de ajustar la memoria caché de la instantánea se basa en patrones de uso previsto.

Las entradas de memoria caché de instantánea pueden ser bastante grandes porque dependen del contenido de la aplicación. No es inusual que las entradas de la memoria caché de instantánea alcancen varios centenares de MB. El tamaño depende de la complejidad y el volumen de los artefactos en una instantánea determinada.

Para proyectos muy grandes y aplicaciones de proceso, la reducción del valor del parámetro snapshot-cache-size-per-branch puede reducir los requisitos de memoria de almacenamiento dinámico (pero con una degradación correspondiente del rendimiento debido a un uso más frecuente de la base de datos).

El valor se encuentra en los archivos 00Static.xml aplicables, pero las actualizaciones del valor predeterminado del parámetro deben realizarse añadiendo el valor a los archivos 100Custom.xml.

<server>
   <repository>
     <snapshot-cache-size-per-branch merge="replace">128</snapshot-cache-size-per-branch>
   </repository>
</server>