Today I learned one new thing:
Garbage collector in NAV 2009 is set to DISABLED by default. Do not ask me
what does it mean and why it is disabled. I do not know. Regardless the value DISABLED, this settings just means that Workstation mode is used for GC. Microsoft NAV team have learned, that by enabling it, you can speed up the NAV Server! Are you asking how you can enable it? It is easy, you need only to add this into the Microsoft.Dynamics.NAV.Server.exe.config file:
It is standard Dot.NET config parameter. What I have noticed when I just googled this parameter, that it could (and probably would) raise memory consumption of the process.
Of course, because if I understand it correctly, it will not release the memory of created object immediately, after the object is not used anymore, but only when the GC is started (e.g. there is no enough free memory or max time between runs was hit). But this “not releasing” leads to better performance. But, again, this is just my understanding of the problem. I can be wrong. Based on the comment from Per (http://msmvps.com/blogs/kine/archive/2012/04/24/1809167.aspx), the difference is, that Server GC will be used instead workstation GC, which means separate threads on highest priority for the GC, instead running GC in context of user thread. And this means using all available CPU cores etc. and this leads to better performance when doing GC, because during GC run the threads are suspended. But still, that the performance is better, is true.
Please, post into comments your experience with this setting.
I want to thank to Michael Nielsen for this info…
(Edited 7:08 CET 25.4.2012)
Just now, I am in Rome, waiting for tomorrow, when Directions EMEA 2012 begins. Whole Directions will be somehow connected to NAV 2013, and it seems that it will be beginning of blog articles about NAV 2013 and new technologies/functions inside it.
First new feature you can use in connection with 2013 is ClickOnce install. This way of installing and distributing of applications exists since .NET 2. But it was not possible to use it for previous versions of NAV. Now, with upcomming NAV 2013, partners could prepare installations for their customers, which includes all what is needed, like addon libraries and custom client settings.
How it works?
Partner prepares the installation (set of easy steps, which could be automatized – it is out of scope of this article right now), publish it somewhere and send the URL to the customer. Customer just by opening this URL will install the RTC, which will be preconfigured e.g. to connect to his NAV server. Partner than can update the installation e.g. by newer version of addon. This update is automatically installed into the customer’s computer when he click the NAV icon. It means much less effort to keep all customer’s clients up-to-date, no problems with distributing the addons. This is very good in days, when it depends on which build is using each customer and user. On user’s computer there could be more versions/variants of the app installed side by side, each with own config.
But! There are some limits for this feature in connection with NAV:
- Prerequisites are not automatically installed
- The install process have no access to the registry (e.g. when addin installation needs something to write there)
- You cannot run the client.exe directly from outside (ClickOnce is using different way to run the app to check for the updates first etc.) and thus you cannot pass runtime parameters to the client
- You cannot use the URLs to run the client
- It is possible to deploy only RTC this way
For me, it is something similar to App-V technology, but much more easy to create the installation and you do not need any special client to be able to use it (and any special server). But the “installed” app is somehow “encapsulated” and thus not working as standard client installed on the PC. Still, it is worth it for partners, which are deploying e.g. cloud solutions or simple solutions, where these features are not used. I recommend to read more about ClickOnce e.g. here: http://msdn.microsoft.com/en-us/library/t71a733d.aspx For using ClickOnce with NAV, there will be tools distributed together with NAV 2013 to make the process as easy as possible. I hope, that future will drop the limits in some way, because it will be cool to have this way together with possibility to install the dev. environment and possibility to use links to run the client.