Hello Friends,
We have many time face the issue of application server performance.
Mostly time it is related to hardware issue. Firewall Issue or May be disk utilization issue.
Performance/Sizing of the host NAV Server Tier machine depends on a number of factors.
We have many time face the issue of application server performance.
Mostly time it is related to hardware issue. Firewall Issue or May be disk utilization issue.
Performance/Sizing of the host NAV Server Tier machine depends on a number of factors.
I have also seen reports of the
'CacheSynchronizationPeriod' error reported when multiple NSTs are setup going
to the same database. If one of the NST is caching a lot of data or locking
tables this is where the sync can have issues. Below are some suggestions on
how you can resolve this but the first one I would recommend is testing on the
last build of NAV 2015 as some of these fixes are dependent on higher builds:
1) Adding
the following key in the setting file, and changing the designed value. This is
not visible by default. But you can try this.
<add
key="CacheSynchronizationPeriod" value="30" />
This was also mentioned here. https://msdn.microsoft.com/en-us/library/hh169480(v=nav.80).aspx
Product team has not make this key public due to potential performance drop
problems, so they have mad this default value of 30 seconds.
2) The
Disable Data cache key is newly introduced in NAN 2013 R2 (Build 39003) and in
NAV 2015 build (39027).
<add key="DisableDataCache"
value="false" />
With this key you can completely disable the Caching on the NAV Server. But you
need to test and check the server performance if you get acceptable performance
you can use this.
The existing parameter “Data Cache Size” you cannot set to zero. You need to
use this new key .
3) Another option will be to user the SELECTLATESTVERSION C/Side function in the
pages where you need to see the latest Data which by pass the NAV Server
caching.
4) Last option will be to use the LOCKTABLE function.
Number series use CU 396 in which there are LOCKTABLE calls to ensure
consistency across NSTs. See e.g. https://msdn.microsoft.com/en-us/dynamics/nav/dn833429.aspx
Using LOCKTABLE is one way of ensuring
Serialized writes. Many books describe best practices when using optimistic
concurrency – including
Minimize code that needs to run ‘serialized’ (i.e. under a LockTable)
Consider creating a ‘reservation mechanism’
Check return values and build retry mechanisms
Hope this helps,
Keep Sharing....Keep Growing !!!
No comments:
Post a Comment