Test OBJECT CACHE size

Does anyone have a method so that I from a Navision object is able to test the size of the OBJECT CACHE? The problem is that I have some situation where an object basically frezes due to not enough OBJECT CACHE. SQL Server is simply almost unable to load the objects, with dramatitacally slow response times in return. If I raise the OBJECT CACHE to i.e. 50MB then it performes perfectly. So I would like to test that the OBJECT CACHE is i.e. a minimum of 50MB, otherwise I would like to display an error message.

Hi Erik, did you check the transfer-speed for the big packets in the performance table ? I had that problem before and got it solved through changes in the MTU-parameter on the server.

Richard, No never heard of that setup. But my problem was actually solved just by raising the OBJECT CACHE to 50MB from the default 10MB, so I don’t see what the MTU has to do with that?

We had a similar situation at a customers site. The number of 4000 Byte-packets has been very low (6-10 / second), but the rate for the 100-Byte-packets was o.k. (over a thousand/second). And although processing data was fast, opening i.e. a form for the first time a day took about 20 seconds. Then the object was in the object-cache and could be used another time without a delay. But with every object used for the first time we had the delay again … I found the following problem: objects are transferred in the 4000 Byte-packets. And having a problem with the transfer-speed of this packets causes this problem. After a hint from our network-guru I played a around with the MTU-parameter on the server. I found out that there was a small range for the MTU-size, which helped the transfer-rate of the 4000 Byte-Packets jump from 10 to some hundered. We had the same problem on other sites (especially with RS/6000 and AIX) and could solve it always by changing the MTU-size. Funny thing is, that the value for the MTU varied quite a bit form installation to installation. What worked for one server was the dead of the other.

Here’s a kludge:

  • Specify objectcache=50000 on the command line
  • In your code, parse the string returned from the COMMANDLINE function, looking for the ‘objectcache=’ substring…

Richard, A bit off the subject, but what did you change the MTU-parameter to?

Marco like i said - it varied very much on different servers. When we saw the problem for the first time, the original setting on the RS/6000 was 4000 (default). We tried lots of seetings from 100 to 4000 and the best results we had with 850. There were only two stati - either it took 20 seconds to open a form or (with 850) the form opened without any delay.

Hi Erik,

I have the same problem in Purchase Line table. I can’t insert single field in Purchase Line table bcoz It’s size is 4000 bytes. Can you Please tell me the steps so that I can solve this problem.

-Kalpit Patel

(Software Developer, India)