Thursday, May 28, 2009

Product builder performance tip

I recently had the client/server trace on, while opening the production builder configuration form. Boy, I wish I didn't…

Depending on how complex your product model is, this for generates an excessive number of calls between the client and server.

In my case, the largest group of calls was calls made to \Data Dictionary\Tables\PBALanguageTxt\Methods\label.

The method is tied to be executed on the server, with the "server" keyword.
But, the table itself is cached as EntireTable, and this means that the client is likely to holds its own cache of the values and thus there is no need, and in particular, no gain of forcing AX to run the method on the server.

When I remove the "server" keyword from this method, I get rid of the majority of client/server calls while opening and navigating in this form.

There is however still room for improvement, as the form still generates a huge amount of calls.

1 comment:

Unknown said...

Hello Palle,

I'm a brazillian researcher in MS Dynamics Ax, speccially in Product Builder issues. Do you have any other post or material about performance best practices with Product Builder module?

We have very complex models, with up to 700 variables, and in the project inception phase, it smells like a big trouble!