Home Dynamics Projects Dynamics Blogs Microsoft Watch Stem cells

 

 

'UseReqCache'

Hmmm....so you would like to know about 'UseCache' setting on master planning parameters.

Basically you have three options: minimum, medium, maximum.

First of all there is no difference between medium and maximum till 4.0, the medium has been kept alive since in future we may need this functionality.

So what does this parameter do? Basically you have choice of keeping objects in memory or recreating them every time from scratch.

For e.g. look at reqPlanData.newReqCalc

Variable useSetupDimCache is being initialised from useCache.

Now check reqPlanData.newReqSetupDim

If cache level is maximum then the object is created once and used from memory whenever it is required.

If cache level is minimum then the object is re-created every time by calling

lastReqSetupDim = reqSetupDim::newCovInventDimId(_reqSetup,_covInventDimId);

If you see what newCovInventDimId does, you will notice that 

reqSetupDim::newCovInventDimId calls reqSetupdim.init which will get records from the database while creating the object.

In the same way ReqSetup will get a record from InventTable while recreating the object.

There are huge number of calls for this object during periodic master plan processing.

So it should be very obvious that 'cache level' maximum should increase the performance. 

Or is it *s* We are not done yet.

The problem is with 'RAM'. When you start loading more and more objects into memory, your server will start dumping objects on to the hard-disk. This means rest of the processing is affected since there is not enough RAM. In rare cases your RAM size on hard-disk may start growing beyond 3 GB and the whole thing will crash.

Ideally one should set the cache to maximum and monitor the RAM usage and then set the value to minimum if required.

 That’s it folks! Enjoy!

 

Send mail to harry@systomatics.com with questions or comments about this web site.
Disclaimer: I am working with Microsoft Business Solutions. The code on this site may or may not be related to my official duties with Microsoft. I do not claim in any expertise in modules represented on this website. Essentially there is just one person doing functional specifications (in head), design specifications (in head), coding and some testing. There is no way the project on this site will be free of bugs. The projects are intended as guidelines and may god help you if you decide to implement the projects without making any changes. If you implement any project resulting into data corruption or anything like that then do not even think of suing me because a. I have already warned you and b. I don't have any money. I may or may not respond to your emails about supporting the project. I may or may not upgrade the projects to the next service pack / version.