Work Manager e limitazione work-manager-and-throttling

CAUTION
AEM 6.4 ha raggiunto la fine del supporto esteso e questa documentazione non viene più aggiornata. Per maggiori dettagli, consulta la nostra periodi di assistenza tecnica. Trova le versioni supportate qui.

AEM forms (e versioni precedenti) utilizzavano code JMS per eseguire le operazioni in modo asincrono. Nei moduli AEM le code JMS sono state sostituite da Work Manager. Questo documento fornisce informazioni di base su Work Manager e fornisce istruzioni su come configurare le opzioni di limitazione di Work Manager.

Informazioni sulle operazioni a lungo termine (asincrone) about-long-lived-asynchronous-operations

In AEM forme, le operazioni eseguite dai servizi possono essere di breve durata (sincrona) o di lunga durata (asincrona). 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 a lungo termine possono estendersi a sistemi o addirittura 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 l’utilizzo di risorse in altro modo in attesa del completamento. A differenza di un'operazione di breve durata, Work Manager non considera un'operazione di lunga durata completa una volta richiamata. Per completare l’operazione, è necessario che un trigger esterno, ad esempio un sistema che richiede un’altra operazione sullo stesso servizio o un utente che invia un modulo, si verifichi.

Informazioni su Work Manager about-work-manager

AEM forms (e versioni precedenti) utilizzavano code JMS per eseguire le 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 da eseguire.
  2. Work Manager memorizza 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 estraggono gli elementi di lavoro quando i thread diventano liberi. Prima di richiamare gli elementi di lavoro, i thread possono verificare se i servizi richiesti sono avviati, se vi sono dimensioni di heap sufficienti per richiamare l'elemento di lavoro successivo e se ci sono abbastanza cicli CPU per elaborare l'elemento di lavoro. Work Manager valuta anche gli attributi dell'elemento di lavoro (ad esempio la sua priorità) quando ne pianifica l'esecuzione.

AEM gli amministratori di moduli possono utilizzare Monitoraggio integrità per controllare le statistiche di Work Manager, ad esempio il numero di elementi di lavoro in coda e i relativi stati. È inoltre possibile utilizzare Health Monitor per mettere in pausa, riprendere, riprovare o eliminare elementi di lavoro. (Vedi Visualizza le statistiche relative a Work Manager.)

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

È possibile 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 delle applicazioni.

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

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

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

Se il volume delle chiamate asincrone è basso, puoi aumentare questo valore. Ad esempio, puoi incrementarlo a un valore compreso tra 2000 e 5000 (da 2 a 5 secondi).

Se il volume delle chiamate asincrone è alto, il valore predefinito dovrebbe essere sufficiente, ma se necessario puoi utilizzare un valore inferiore. Diminuendo troppo questo valore (ad esempio, al di sotto di 50, che si traduce in una frequenza di sondaggio di 20 volte al secondo) si crea un notevole sovraccarico sul sistema.

 adobe.workmanager.debug-mode-enabled

Imposta questa opzione su true per abilitare la modalità di debug o su false per disattivarla.

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 per 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 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 arrivo.

Il valore predefinito per questa opzione è 95. Questo valore deve essere valido per la maggior parte dei sistemi. Aumentalo solo se il sistema deve passare alla sua capacità massima. Ma si noti che aumentando questo valore, aumenta anche il rischio di problemi di memoria esaurita.

Se si eseguono AEM moduli in un ambiente cluster, è possibile impostare le impostazioni dei limiti di controllo della memoria in modo diverso su diversi nodi 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. E si potrebbero impostare limiti massimi più alti sui nodi C e D, che non sono usati dal load balancer, ma riservati al lavoro asincrono.

 adobe.workmanager.memory-control.low-limit

Specifica la percentuale massima di memoria che può essere utilizzata prima che Work Manager smetta di limitare i processi in arrivo.

Il valore predefinito per questa opzione è 20. Questo valore deve essere valido per la maggior parte dei sistemi.

Dadobe.workmanager.allocate.max-batch-size

Specifica la dimensione batch massima per workmanager. La dimensione predefinita del batch è 10.

Se lo stato di un processo in workmanager non viene aggiornato anche dopo il completamento dell'attività, impostare la dimensione del batch su 1.

Aggiungi opzioni Java a JBoss

  1. Arresta il server dell'applicazione JBoss.
  2. Apri [root appserver]/bin/run.bat (Windows) o run.sh (Linux o UNIX) in un editor e aggiungi una qualsiasi delle opzioni Java secondo necessità, nel formato -Dproperty=value.
  3. Riavvia il server.

Aggiungi opzioni Java a WebLogic

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

  2. Digita il nome utente e la password creati per il dominio del server WebLogic e fai clic su Log Under Change Center, quindi fai clic su Lock & Edit.

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

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

  5. Nella casella Argomenti , aggiungi gli argomenti necessari alla fine del contenuto corrente. Ad esempio, per disabilitare Health Monitor, aggiungi:

    -Dadobe.healthmonitor.enabled=false disabilita Monitoraggio integrità.

  6. Fare clic su Salva e quindi su Attiva modifiche.

  7. Riavvia il server gestito WebLogic.

Aggiungi opzioni Java a WebSphere

  1. Nella struttura di navigazione Console amministrativa WebSphere, fare clic su Server > Tipi di server > Server applicazioni WebSphere.
  2. Nel riquadro a destra, fare clic sul nome del server.
  3. In Infrastruttura server, fai clic su Flusso di lavoro Java e moduli > Definizione del processo.
  4. In Proprietà aggiuntive fare clic su Java Virtual Machine.
  5. Nella casella Argomenti JVM generici digitare gli argomenti necessari.
  6. Fare clic su OK o Applica, quindi fare clic su Salva direttamente nella configurazione principale.
recommendation-more-help
a6ebf046-2b8b-4543-bd46-42a0d77792da