What happened to batch groups??

I need to confess something… Sometime I do not read all of the release notes as thoroughly as I maybe should. This was made clear to me the other day when I tried to set up a batch job and make sure it was executing in a new Dynamics 365 for Finance and Operations Production environment. Or maybe I read it, but did not really understand it…

Before, you were able to create a batch group and add servers to it. This was used in for instance AX 2012 or D365FO to control execution and divide resources in an optimal way between batch jobs. Especially when you were dealing with large, time consuming, batches that you needed to ensure ran correctly while not starving smaller (time critical) jobs of resources

Starting with version 10.0.29 the default behaviour is that all Batch Servers are assigned to all Batch Groups. Each Batch Group has a scheduling priority set to either Low, Normal, High, Critical or Reserved Capacity and the batch jobs are then assigned to the Batch Group meaning that you will (almost) always have load balancing over all servers. The exception to the rule is if you choose Reserved Capacity.

Reserved Capacity means that you on an environment level can exclude a percentage of the total batch capacity (aka Batch Threads). The setup is done in System Parameters – Batch global settings. The default setting is “No reserved capacity”, meaning that all batch servers threads are available to the load-balancing. You are able to change this to Low, Medium or High (10, 15 or 25 percent) which will then exclude batch capacity from the pool. Worth knowing is that when no batch jobs with Reserve Capacity are executing the reserved batch threads will be sitting idle.


Links
https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/sysadmin/priority-based-batch-scheduling

Leave a Reply