Tuning DAM Workflows
For performance tuning guidelines for DAM workflows, see the AEM Assets Performance Tuning Guide.
Configure the Maximum Number of Concurrent Workflows
AEM can allow multiple workflow threads to run concurrently. By default the number of threads is configured to be half the number of processor cores on the system.
In cases where the workflows being executed are demanding of system resources, this can mean little is left for AEM to use for other tasks, such as rendering the authoring UI. As a result, the system may be sluggish during activities such as bulk image uploading.
To address this issue, Adobe recommends configuring the number of Maximum Parallel Jobs to be between half to three-quarters of the number of processor cores on the system. This should allow enough capacity for the system to stay responsive when processing these workflows.
To configure Maximum Parallel Jobs, you can either:
-
Configure the OSGi Configuration from the AEM Web console; for Queue: Granite Workflow Queue (an Apache Sling Job Queue Configuration).
-
Configure the queue can from the Sling Jobs option of the AEM Web console; for Job Queue Configuration: Granite Workflow Queue, at
http://localhost:4502/system/console/slingevent
.
Additionally, there is a separate configuration for the Granite Workflow External Process Job Queue. This is used for workflow processes that launch external binaries, such as InDesign Server or Image Magick.
Configure Individual Job Queues
In some cases it is useful to configure individual job queues to control concurrent threads, or other queue options, on an individual job basis. You can add and configure an individual queue from the Web console via the Apache Sling Job Queue Configuration factory. To find the appropriate topic to list, execute your workflow’s model and look for it in the Sling Jobs console; for example, at http://localhost:4502/system/console/slingevent
.
Individual job queues can be added for transient workflows as well.
Configure Workflow Purging
In a standard installation AEM provides a maintenance console where daily and weekly maintenance activities can be scheduled and configured; for example, at:
http://localhost:4502/libs/granite/operations/content/maintenance.html
By default, the Weekly Maintenance Window has a Workflow Purge task, but this needs to be configured before it will run. To configure workflow purges, a new Adobe Granite Workflow Purge Configuration must be added in the Web console.
For further details on maintenance tasks in AEM, see the Operations Dashboard.
Customization
When writing custom workflow processes, there are some things that should be kept in mind.
Locations
Definitions of workflow models, launchers, scripts and notifications are held in the repository according to type; that is, out-of-the-box, custom, among others.