Do you want to limit/throttle the amount of available tasks per batch group in MsDyn365FO?

Before we got the feature “Priority Based Scheduling” in Microsoft Dynamics 365 for Finance and Operations, we were able to assign specific batch servers to a batch group. This was not only to increase capacity for batch groups but also to limit/throttle the capacity for batch groups.

We recently had the problem that 72 tasks in the scheduling priority “normal” were able to execute and because more than 72 tasks were available, 72 got in executing state at the same point in time. This obviously lead to 100% DTU utilization over a longer period of time. With the “old mechanism” of batch group this could have been avoided by limiting the used batch group to only a few batch servers.

With 10.0.38 PU63 I found the feature “Batch concurrency control” which now again allows you to limit/throttle the parallel tasks in a specific batch group. If we had known this feature earlier and the users had select the right bath group in the request form we could have limited the parallel tasks to e. g. 16 tasks so the processing hadn’t badly effected other users.

After you activate the feature, you will see the following new field on the batch group.

As documented via the help text of the field:

“The maximum number of tasks that can run in parallel at a time for a Batch Jobs in this Batch Group. If concurrency control is not necessary, this setting should be set to zero. To completely stop all batch jobs in this Batch Group, set the value to -1. However, it’s important to note that this feature should not be used for Batch Jobs with over 5000 concurrent tasks ready to execute, as this may negatively impact the performance of batch scheduling.”

We now use this features to limit/throttle the amount of available tasks per batch group, as we did before “Priority based throttling” by selecting only a few batch servers for a specific batch group.

Leave a comment