Question
Coforge
US
Last activity: 21 Sep 2021 4:20 EDT
NBA strategy performance optimization
Hi,
We are looking to improve performance of NBA strategy batch run which is taking average 10hrs to run daily batch on around 10+ million customers.
When i test run the strategy for 100 records manually to analyze performance, around 50% of the over all time is spent in "Decision Data" shape which is used to get all propositions. We have around 200+ propositions to retrive and evaluate for each customer.
I read from some topics suggesting to limit properties mapped from proposition, so memory footprint is reduced. Is there any other suggested approach to highly improve time taken by "Decision Data" shape ?
In dataflow we get Customer dataset and call NBA strategy, since this "Decision Data" shape is the initial component in NBA strategy, in this design means, for each customer we invoke NBA strategy which inturn calls "Decision Data" retrieve and so time taken by this shape multiples by No of customers ?
Is there design change possible to take "Decision Data" shape outside NBA strategy and place one level up in Dataflow, so this proposition dats is retrieved only once ?
Hi,
On the Pega wiki there is a document that details guidance for troubleshooting strategy performance. It seems that I cannot paste links in my reply so if you go to wiki.pega.com and search for Best practices when troubleshooting decision strategy performance that may help in your troubleshooting efforts.
Another thing to check is the default configuration of the Decision Data and the Proposition Import shapes (I think it is present in 8.2). There is a check box on the Advanced tab which is checked by default which is not as performant as we would like
<Join strategy results based on conditions defined in the decision data tab > (Decision data)
<Join strategy results with imported propositions> (Prop import)
Unchecking the box (if the join is not required) can result in significant improvements for these components and is worthwhile testing. This performance challenge was identified recently and is being fixed in latest versions of Pega.
Have a go and see if it helps your use case.
Cheers, Alex