Customer aging snapshot performance improvement approach through parallel batch execution

The aim of this blog post is to illustrate an effective  way which helps to receive your desired data output from the Customer aging snapshot faster when your amount of relevant customers is rather high. Of course, you may  use this idea for other batches as well.

Idea:  

Instead of running the Customer aging snapshot (AX client: [Company]\Accounts receivables\Periodic\Collections\Customer aging snapshot) in 1 batch for all involved customer, split your customers into separate pools and run 1 batch per pool on dedicated batch servers (if available) 

Example:

  • Your MS Dynamics AX installation  consists of 20.000 customer accounts and 2 physically different dedicated AOS batch servers
  • You setup 2 different pools (AX client: [Company]\Accounts receivables\Setup\Collections\Customer pools) for your customer accounts:

    Pool 1 consists of customers where the first letter of the customer’s name starts with A-M
    Pool 2 consists of customers where the first letter of the customer’s name is starts with  N-Z

  • You create 2 different batches and assign each pool to one of those 2 batches
  • You assign the execution of batch 1 to AOS server 1 and  the execution of batch 2 to AOS server 2.

Additional notes:

For optimal batch execution on the different batch servers it is important that no other resource intensive batches are running in parallel on the AOS batch servers at the same time.
The amount of pools and customers per pool and batches can be different in different customer installations. My main aim here in this blog post has been to pick numbers which show the principle as “easy-to-follow” as possible.