Increase partition on Perform Maintenance Task

At times I have to process thousands of workflows from the background. I have the Perform Maintenance Task set with Enable Partitioning options checked.

But the max number of partitioning it creates is 8. Is there a way I can create more number of partitioning for this task?

Hi @kpudasaini - what you probably want to increase is not just the partitions but the number of workflows processed at a time given you mentioned there are thousands at times. Do you have a value set for Number of background workflow threads in your task?

A useful way to think about this:

total concurrent workflows processed ~= num partitions x background workflow tasks

If you leave Number of background workflow threads as blank, it defaults to 1, meaning that at 8 partitions, you are processing 8 workflows at the same time.

I would recommend setting this to an explicit value. Can start conservatively here, usually not to exceed the number of cores on your task server(s).

Some docs that may be helpful to you:

Perform Maintenance Task Thread Adjustment

Perform Maintenance - System Maintenance

Hope this helps!

I have it set to 6 . I am still trying to figure out how to increase the number of partitions.

total concurrent workflows processed ~= num partitions(8) x background workflow tasks(6)
= 48 concurrent workflows.

I want to increase the no of partitions so that I can process much more workflows at a time.

Do have a separate UI and Task Server configuration in your environment, you can improve task execution performance by using multiple task-enabled servers.

If you have, for example, 2 or 4 IdentityIQ application servers, you can enable the Task Server role on all of them. When a background task (such as Perform Maintenance) is executed with partitioning enabled, IdentityIQ can distribute the partitions across all available task servers in the cluster.

This approach allows:

  • Parallel execution across multiple nodes
  • Better CPU and memory utilization
  • Improved throughput for large volumes (e.g., thousands of workflows)

However, note that:

  • The maximum number of partitions remains capped (e.g., 8 for Perform Maintenance) and cannot be increased
  • Multiple task servers help distribute those partitions, but do not increase the partition count itself
  • Proper sizing (JVM heap, DB performance) is still critical

@kpudasaini You can’t increase the PM task partitions like you can do for Aggregation or Identity Refresh Tasks. Could you please us understand in what cases you need to execute thousands of workflow in background? We can if there is a workaround for proper splitting and executing evenly across servers.