Utilizzo dei dati di strumentazione del processo per la regolazione della cache

Nell'area Amministrazione server di Process Admin Console, è possibile selezionare Monitoraggio> Strumentazione per visualizzare i dati di strumentazione del processo nel monitor Strumentazione. Se i dati visualizzati indicano un numero inaspettatamente elevato di mancati riscontri della cache per le impostazioni della cache, è possibile modificare i file 100Custom.xml e sovrascrivere i valori predefiniti problematici delle impostazioni della cache; tuttavia, non tutte le cache sono configurabili. Le impostazioni della cache del factory di oggetti persistenti (PO) e le impostazioni della cache del repository si riflettono nelle sezioni Factory PO e Repository del monitor Strumentazione. In alcune situazioni, potrebbe essere necessario sovrascrivere i valori predefiniti per le impostazioni della cache con nuovi valori.

Per ulteriori informazioni sull'utilizzo del monitor di strumentazione per visualizzare o registrare i dati di strumentazione del processo, consultare l'argomento Cattura dei dati di strumentazione del processo.

Cache non configurabili

Non è possibile configurare le seguenti cache, che si trovano nella sezione FIFOs della strumentazione:
  • ContextAndTypeTreeElements
  • ContextTreeElements
  • Dipendenza
  • ManagedAssets
  • ProjectDependency
  • SOAPConnector.XMLTypeDescriptors
  • UUIDListKey
  • Dettagli versione
  • VersionSummaryId
  • WebAPIUserID
  • XMLTypeDescriptorContextContextAndTypeTreeElements

Impostazioni della cache del factory PO e impostazioni della cache del repository

Sia per le impostazioni della cache del factory PO che per le impostazioni della cache del repository, una percentuale di riscontri nella cache del 90% è considerata abbastanza soddisfacente. Tuttavia, le mancanze di cache superiori al 50% richiedono alcune indagini. Per migliorare la percentuale di riscontri nella cache rispetto ai mancati riscontri nella cache, è possibile specificare nuovi valori per le impostazioni della cache nei file 100Custom.xml . I nuovi valori sovrascriverà i valori predefiniti esistenti per le impostazioni della cache che si trovano generalmente in altri file di configurazione XML, come i file 00Static.xml . Generalmente, la modifica delle impostazioni della cache è un'attività iterativa.

Nota: la memoria non verrà preassegnata in base alla dimensione della cache specificata. Le cache sono espandibili fino alla dimensione specificata. La riga della dimensione della cache rappresenta la dimensione dell'ultima cache di lettura.

Le impostazioni della cache della produzione PO e delle impostazioni della cache del repository riflesse nel monitoraggio della strumentazione sono descritte nelle seguenti sezioni:

Impostazioni cache factory PO

Un factory di oggetti persistenti (PO) è una classe utilizzata per creare oggetti persistenti. Esiste un factory PO per ogni tipo di oggetto persistente e ogni factory PO ha una cache per memorizzare nella cache gli oggetti persistenti di quel tipo.

Ci sono due tipi di impostazioni di produzione PO in Business Automation Workflow: con versione e senza versione. Per un oggetto persistente con versione , ogni volta che un oggetto viene modificato, il nuovo oggetto viene salvato separatamente e non sovrascrive la versione precedente. Ciò consente di visualizzare le modifiche nel tempo. Per un oggetto persistente senza versione , viene conservata solo la modifica più recente e le versioni precedenti vengono eliminate.

La seguente tabella elenca gli oggetti permanenti con versione e senza versione che si trovano nelle sezioni Factory PO> Cache Hits e Factory PO> Mancati riscontri cache del monitoraggio della strumentazione. La tabella elenca anche le impostazioni della cache della produzione PO corrispondenti che potrebbe essere necessario sovrascrivere per migliorare il rapporto tra riscontri nella cache e mancati riscontri nella cache. Tutte le impostazioni della cache sono abilitate nei file di configurazione XML, se non diversamente indicato.

Tabella 1. . Impostazioni cache produzione PO
Tipo di PO nel monitor di strumentazione Impostazione e descrizione Impostazione per l'aggiunta o l'aggiornamento nel file 100Custom.xml
Uno di:

Artefatto
BPDArtifactReference
Parametro BDP
BlueprintSubscription
Evento BPDE
Parametro BDP
Allenatore
CoachResource
CoachView
Connettore
Contributo
ESArtifact
EnvironmentVariable

EnvironmentVariableSet
Epv
EpvVar
EventSubscription
ExtendedProperty
ExtendedPropertySet
HistoricalScenario
InfoPathForm
Disposizione
ManagedAsset
Metrico
Partecipante
ProjectDefaults
ProjectDependency
RefPO
Rapporto
ReportVariable
ResourceBundleGroup
SLA
Tabellone segnapunti
SimulationScenario
TimingInterval
TrackingGroup
UITheme
UserAttributeDefinition
WebService
default-versioned-po-cache-size
Questa impostazione controlla il numero di oggetti nella cache PO (persistent object) con versione. Il valore predefinito è 5000.
Per gli ambienti a basso volume con relativamente poche applicazioni del processo e coach, il valore predefinito potrebbe essere sufficiente. Tuttavia, per ambienti più complessi con molte applicazioni del processo o coach, è possibile aumentare questo valore in modo che le applicazioni del processo e i coach vengano conservati nella cache dopo il loro utilizzo iniziale. Questo passo può migliorare il tempo di risposta quando si accede a queste applicazioni del processo e ai coach.
Ogni volta che i dati di strumentazione del processo indicano che vi è un numero eccessivo di mancati riscontri nella cache del factory PO, è possibile aumentare il valore della cache del PO con versione. Potrebbe essere necessario eseguire l'iterazione attraverso più valori finché non si determina il valore migliore per il proprio particolare scenario. Dopo aver modificato il valore, controllare nuovamente i dati di strumentazione del processo e adattare il valore come necessario.
L'impostazione è ubicata nei file 00Static.xml applicabili, ma gli aggiornamenti al valore predefinito dell'impostazione devono essere effettuati aggiungendo l'impostazione ai file 100Custom.xml .
<common>
   <default-versioned-po-cache-size merge="replace">7000</default-versioned-po-cache-size>
</common>
Uno di:

BPMSnapshotStatus
CaseProperty
Oggetto ECM
EnvironmentType
GovernanceAssignment
GovernanceEvent
MonitorProjectInterchange
PCIndexAction
PCI Indexer
Registrazione PC
Priorità
ProjectSubscribed
ProjectSubscription
RepositoryLog
SharedToolKitUsage
Istantanea
TimePeriod
default-unversioned-po-cache-size
Questa impostazione controlla il numero di oggetti nella cache PO (unversioned persistent object). Il valore predefinito è 1000.
Per gli ambienti a basso volume con relativamente poche applicazioni del processo e coach, il valore predefinito potrebbe essere sufficiente. Tuttavia, per ambienti più complessi con molte applicazioni del processo o coach, è possibile aumentare questo valore in modo che le applicazioni del processo e i coach vengano conservati nella cache dopo il loro utilizzo iniziale. Questo passo può migliorare il tempo di risposta quando si accede a queste applicazioni del processo e ai coach.
Se i dati di strumentazione del processo indicano che si è verificato un numero eccessivo di mancati riscontri nella cache del factory PO, è possibile aumentare il valore della cache del PO senza versione. Potrebbe essere necessario eseguire l'iterazione attraverso più valori finché non si determina il valore migliore per il proprio particolare scenario. Dopo aver modificato il valore, controllare nuovamente i dati di strumentazione del processo e adattare il valore come necessario.
L'impostazione è ubicata nei file 00Static.xml applicabili, ma gli aggiornamenti al valore predefinito dell'impostazione devono essere effettuati aggiungendo l'impostazione ai file 100Custom.xml .
<common>
   <default-unversioned-po-cache-size merge="replace">2000</default-unversioned-po-cache-size>
</common>
Uno di:

Progetto
ContentObject
ContentObjectInstance
time-based-project-cache-enable
L'impostazione time-based-project-cache-enable specifica se la cache PO (persistent object) è una cache basata sul tempo. Questa impostazione è abilitata per impostazione predefinita. L'intervallo di scadenza è controllato da po-cache-expiration-interval, il cui valore predefinito è 20 secondi.
La cache viene reimpostata se scade dopo l'intervallo di scadenza specificato. Quando la cache viene letta dopo essere stata reimpostata, a volte è possibile che si riscontrino errori di cache superiori alla dimensione della cache.
default-unversioned-PO-cache-size
L'impostazione default-unversioned-PO-cache-size controlla il numero di oggetti nella cache PO (unversioned persistent object). Il valore predefinito è 1000.
L'impostazione è ubicata nei file 00Static.xml applicabili, ma gli aggiornamenti al valore predefinito dell'impostazione devono essere effettuati aggiungendo l'impostazione ai file 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>

Impostazioni cache del repository

La seguente tabella elenca le impostazioni della memoria cache del repository riportate nella sezione Repository del monitoraggio della strumentazione. In alcune situazioni, potrebbe essere necessario sovrascrivere i valori di impostazione della memoria cache per migliorare il rapporto tra i riscontri della cache e i mancati riscontri della cache. Tutte le impostazioni della cache sono abilitate nei file di configurazione XML, se non diversamente indicato.

Tabella 2. . Impostazioni cache del repository
Nome Impostazione e descrizione Impostazione per l'aggiunta o l'aggiornamento nel file 100Custom.xml

Cache contesto ramo

branch-context-max-cache-size

Questa impostazione specifica il numero massimo di contesti del ramo conservati nella cache di Branch Manager, che contiene metadati sul contenuto delle istantanee in memoria e viene utilizzato per migliorare le prestazioni di alcune operazioni. Il valore predefinito è 64.

L'impostazione è ubicata nei file .00Static.xml applicabili, ma gli aggiornamenti al valore predefinito dell'impostazione devono essere effettuati aggiungendo l'impostazione ai file 100Custom.xml .

Se le applicazioni del processo sono particolarmente grandi e si verificano problemi di memoria nel server Business Automation Workflow , potrebbe essere necessario ridurre il valore dell'impostazione, in modo particolare sui server di runtime in cui viene creato un nuovo ramo per ogni istantanea distribuita. Allo stesso modo, per un server dei processi in un ambiente con memoria vincolata, la riduzione della dimensione della cache di Branch Manager può ridurre la memoria heap per applicazioni di processo di grandi dimensioni. Tuttavia, potrebbe essere necessario aumentare il valore dell'impostazione se l'applicazione del processo creato ha un numero elevato di dipendenze sui toolkit.

Un toolkit con un oggetto di business impiega meno di 1 MB di memoria per la voce della cache del ramo e la cache delle istantanee. L'applicazione Process Portal utilizza circa 11 MB di memoria. Il toolkit dei dati di sistema utilizza diverse centinaia di MB di memoria. Esiste una differenza nell'utilizzo della memoria a causa della complessità delle relazioni tra le risorse utente nel progetto e il volume di risorse utente in ogni progetto. Pertanto, è difficile prevedere con precisione la quantità di memoria aggiuntiva che verrà utilizzata quando si sta ottimizzando la cache del ramo.

Per calcolare il valore ottimale per la velocità a scapito della memoria in un ambiente Workflow Server con più applicazioni del processo distribuite, un approccio consiste nel prendere un conteggio di righe della tabella LSW_BRANCH nel database, moltiplicare questo valore per 1.1e utilizzare il risultato come valore per l'impostazione branch-context-max-cache-size . Questo approccio presuppone che tutte le applicazioni del processo siano utilizzate in modo relativamente frequente e che si desideri che i relativi contesti siano memorizzati. Se viene distribuita una singola applicazione del processo, il valore ottimale è il numero di dipendenze di questa applicazione del processo più uno.
Nota: ogni volta che una nuova applicazione del processo o snapshot viene distribuita o eliminata dall'ambiente Workflow Server , è necessario considerare l'adattamento della dimensione della cache.
<server>
   <repository>
     <snapshot-cache-size-per-branch merge="replace">128</snapshot-cache-size-per-branch>
   </repository>
</server>

Cache contesto istantanea

snapshot-cache-size-per-branch

Questa impostazione specifica il numero di istantanee memorizzate nella cache per un singolo ramo in Workflow Center. Il valore predefinito è 64.

In ambienti Workflow Server , è possibile conservare il valore predefinito poiché questa impostazione viene ignorata in Workflow Server. Ogni snapshot distribuita viene distribuita a un ramo univoco su Workflow Server, il che significa che la cache di snapshot contiene solo una voce.

La cache di istantanee viene ottimizzata indipendentemente dalla cache del ramo. Ogni voce della cache del ramo contiene una cache di istantanee. In Workflow Center, tutte le istantanee su un ramo utilizzano la stessa voce della cache del ramo; pertanto, il numero di voci nella cache delle istantanee potrebbe essere più di una. Il numero di voci necessarie dipende dal numero di istantanee a cui è stato eseguito l'accesso. È possibile accedere alle istantanee quando la snapshot è attivata o quando gli utenti di Process Designer visualizzano le risorse utente, riprodurre le risorse utente o eseguire entrambe le operazioni in una versione specifica della snapshot. Pertanto, l'ottimizzazione della dimensione della cache dell'istantanea è necessaria solo per il server Workflow Center . La necessità di ottimizzare la cache di istantanea è basata su modelli di utilizzo anticipati.

Le voci della cache di istantanee possono essere piuttosto grandi perché dipendono dal contenuto dell'applicazione. Non è raro che le voci della cache di istantanee raggiungano diverse centinaia di MB. La dimensione dipende dalla complessità e dal volume delle risorse utente in una determinata snapshot.

Per progetti di grandi dimensioni e applicazioni del processo, la riduzione del valore dell'impostazione snapshot-cache-size-per-branch può ridurre i requisiti di memoria heap (ma con un corrispondente peggioramento delle prestazioni dovuto all'utilizzo più frequente del database).

L'impostazione è ubicata nei file 00Static.xml applicabili, ma gli aggiornamenti al valore predefinito dell'impostazione devono essere effettuati aggiungendo l'impostazione ai file 100Custom.xml .

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