Work Manager e limitazioni work-manager-and-throttling

NOTE
Assicurati che l’utente disponga dei privilegi di amministratore per accedere alla console dell’amministratore.

AEM Forms (e versioni precedenti) utilizzava code JMS per eseguire operazioni in modo asincrono. In AEM Forms, le code JMS sono state sostituite da Work Manager. Questo documento fornisce informazioni di base su Work Manager e istruzioni sulla relativa configurazione delle opzioni di limitazione.

Informazioni sulle operazioni di lunga durata (asincrone) about-long-lived-asynchronous-operations

Nei moduli di AEM, le operazioni eseguite dai servizi possono essere di breve durata (sincrone) o di lunga durata (asincrone). Operazioni di breve durata completate in modo sincrono sullo stesso thread da cui sono state richiamate. Queste operazioni attendono una risposta prima di continuare.

Le operazioni di lunga durata possono estendersi su più sistemi o anche oltre l’organizzazione, ad esempio quando un cliente deve completare e inviare un modulo di richiesta di prestito come parte di una soluzione più ampia che integra più attività automatizzate e umane. Tali operazioni devono continuare in attesa di una risposta. Le operazioni di lunga durata eseguono il lavoro sottostante in modo asincrono, consentendo alle risorse di essere altrimenti impegnate in attesa di completamento. A differenza di un’operazione di breve durata, Work Manager non considera completata un’operazione di lunga durata una volta richiamata. Per completare l’operazione è necessario che venga eseguito un trigger esterno, ad esempio un sistema che richiede un’altra operazione sullo stesso servizio o un utente che invia un modulo.

Informazioni su Work Manager about-work-manager

AEM Forms (e versioni precedenti) utilizzava code JMS per eseguire operazioni in modo asincrono. AEM Forms utilizza Work Manager per pianificare ed eseguire operazioni asincrone tramite thread gestiti.

Le operazioni asincrone vengono gestite in questo modo:

  1. Work Manager riceve un elemento di lavoro per l’esecuzione.
  2. Work Manager archivia l’elemento di lavoro in una tabella di database e assegna un identificatore univoco all’elemento di lavoro. Il record del database contiene tutte le informazioni necessarie per eseguire l’elemento di lavoro.
  3. I thread di Work Manager acquisiscono gli elementi di lavoro quando diventano liberi. Prima di estrarre gli elementi di lavoro, i thread possono verificare se i servizi richiesti sono stati avviati, se la dimensione dell’heap disponibile è sufficiente per acquisire l’elemento di lavoro successivo e se il numero di cicli di CPU necessari per l’elaborazione dell’elemento di lavoro è sufficiente. Work Manager valuta anche gli attributi dell’elemento di lavoro (come la sua priorità) durante la pianificazione dell’esecuzione.

Gli amministratori di AEM Forms possono utilizzare Health Monitor per verificare le statistiche di Work Manager, ad esempio il numero di elementi di lavoro nella coda e i relativi stati. Puoi inoltre utilizzare Monitoraggio dello stato per sospendere, riprendere, riprovare o eliminare elementi di lavoro. Consulta Visualizzare statistiche relative a Work Manager.

Configurazione delle opzioni di limitazione di Work Manager configuring-work-manager-throttling-options

Puoi configurare la limitazione per Work Manager in modo che gli elementi di lavoro vengano pianificati solo quando sono disponibili risorse di memoria sufficienti. Puoi configurare la limitazione impostando le seguenti opzioni JVM nel server applicazioni.

Proprietà
Descrizione
 adobe.work-manager.queue-refill-interval

Specifica l’intervallo di tempo, in millisecondi, utilizzato da Work Manager per il controllo di nuovi elementi nella coda.

Il valore di questa opzione è un numero intero. Il valore predefinito è pari a 1000 millisecondi (1 secondo).

Se il volume delle chiamate asincrone è basso, puoi aumentare questo valore. Ad esempio, è possibile aumentarlo tra 2000 e 5000 (2-5 secondi).

Se il volume delle chiamate asincrone è elevato, il valore predefinito dovrebbe essere sufficiente, ma se necessario è possibile utilizzare un valore inferiore. La riduzione eccessiva di questo valore (ad esempio, al di sotto di 50, che si traduce in una frequenza di polling di 20 volte al secondo) causa un notevole sovraccarico sul sistema.

 adobe.workmanager.debug-mode-enabled

Impostare questa opzione su true per abilitare la modalità di debug o su false per disabilitarla.

In modalità di debug, vengono registrati i messaggi relativi alle violazioni dei criteri di Work Manager e alle azioni di pausa/ripresa di Work Manager. Imposta questa opzione su true solo durante la risoluzione dei problemi.

 adobe.workmanager.memory-control.enabled
Imposta questa opzione su true per abilitare la limitazione in base alle impostazioni di controllo della memoria descritte di seguito oppure su false per disabilitare la limitazione.
 adobe.workmanager.memory-control.high-limit

Specifica la percentuale massima di memoria che può essere utilizzata prima che Work Manager limiti i processi in ingresso.

Il valore predefinito per questa opzione è 95. Questo valore dovrebbe andare bene per la maggior parte dei sistemi. Aumentarla solo se il sistema deve raggiungere la capacità massima. Tuttavia, se si aumenta questo valore, aumenta anche il rischio di problemi di memoria insufficiente.

Se esegui AEM Forms in un ambiente cluster, puoi impostare i limiti di controllo della memoria in modo diverso su nodi diversi del cluster. Ad esempio, potresti avere un limite alto inferiore sui nodi A e B, che sono programmati nel load balancer per il lavoro interattivo. Inoltre, potresti impostare limiti alti più elevati sui nodi C e D, che non vengono utilizzati dal load balancer, ma sono riservati per il lavoro asincrono.

 adobe.workmanager.memory-control.low-limit

Specifica la percentuale massima di memoria che può essere utilizzata prima che Work Manager interrompa la limitazione dei processi in ingresso.

Il valore predefinito per questa opzione è 20. Questo valore dovrebbe andare bene per la maggior parte dei sistemi.

Dadobe.workmanager.allocate.max-batch-size

Specifica la dimensione batch massima per Work Manager. La dimensione dell’archivio per impostazione predefinita è 10.

Se lo stato di un processo in Work Manager non viene aggiornato anche dopo il completamento dell’operazione, imposta la dimensione batch su 1.

Aggiungere opzioni Java a JBoss

  1. Arresta il server applicazioni di JBoss.
  2. Apri la [directory principale appserver]/bin/run.bat (Windows) o run.sh (Linux o UNIX) in un editor e aggiungi le opzioni Java necessarie nel formato -Dproperty=value.
  3. Riavvia il server.

Aggiungere opzioni Java a WebLogic

  1. Avvia la console di amministrazione di WebLogic digitando https://[host name]:[port]/console in un browser web.

  2. Digita il nome utente e la password creati per il dominio del server WebLogic e fai clic su Registra In Centro modifiche e su Blocca e modifica.

  3. In Struttura dominio, fai clic su Ambiente > Server e nel riquadro di destra fai clic sul nome del server gestito.

  4. Nella schermata successiva, fai clic sulla scheda Configurazione > scheda Avvio server.

  5. Nella casella Argomenti, aggiungi gli argomenti necessari alla fine del contenuto corrente. Ad esempio, per disabilitare il Monitoraggio dello stato, aggiungi:

    -Dadobe.healthmonitor.enabled=false disabilita Monitoraggio dello stato.

  6. Fai clic su Salva, quindi su Attiva modifiche.

  7. Riavvia il server gestito da WebLogic.

Aggiungere opzioni Java a WebSphere

  1. Nella struttura di navigazione della Console di amministrazione WebSphere, fai clic su Server > Tipi di server > Server applicazioni WebSphere.
  2. Nel riquadro di destra, fai clic sul nome del server.
  3. In Infrastruttura server fare fai clic su Java e Forms Workflow > Definizione processo.
  4. In Proprietà aggiuntive, fai clic su Java Virtual Machine.
  5. Nella casella Argomenti JVM generici digita gli argomenti richiesti.
  6. Fai clic su OK o Applica e quindi su Salva direttamente nella configurazione principale.
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2