NAV performance tuning
From Dynamics
Performance tuning in Dynamics NAV is a very complex process. The first rule though is to be aware that there is almost never a Magic Bullet. To get a badly performing system to acceptable performance is generally the result of many small tweaks, not due to one big fix. If one big fix is able to instantly fix things, that that mistake what ever it was has no excuse for ever being there.
Contents |
Hardware
As long as the server is reasonably correctly configured, then the performance gains to be made by improving hardware are likely to be minimal. But it is important that before starting to optimize the Database, that the Hardware is optimized.
What is the problem
The first and most important starting point in performance tuning is to determine the problem. Of course it sounds obvious, but often the system is defined as "slow". In this case applying generic speed up fixes may or may not help. So its critical to define what the problem is.
Part of the definition requires measuring specific performance criteria. In the beginning these will be estimates, (such as "It takes about 2 minutes to post a sales order") but once the performance issues are listed out, the critical ones will then be tracked more accurately (such as "It takes 114 seconds to ship a 200 line inventory Order with reservations in place").
The tasks is to list out all the performance issues define the current timing, and the required timing so as to know the % performance increase required. Then these can be prioritized so as to start the optimization process.
Start by asking yourself these questions:
Key bottlenecks
It is important understand where the system is (in the users perception) slow. First a generic view is fine, i.e. it takes to long to post an order, or opening the customer list takes for ever, but be aware that you will later need to be more exact, i.e. exactly how many seconds to post how many sales lines on an order.
Locking
Are you having locking issues? If so is this a major part of the performance issues? When a table is locked, which tables are you seeing as locked the most often, and which ones tend to lock for the longest time. Is there a particular group of users that tend to lock tables more than others (e.g. shipping or order entry or Purchasing).
Reporting
Are there any reports that are exceptionally slow (except inventory valuation which is always slow).
Inventory adjustment
How long does it take to run the adjust inventory routines, and how often do you do this?
Other
Any other areas that you feel are not performing as they should.
Training users
One of the quickest returns for performance increase is had by training users. Often users are searching on the wrong fields, not sorting correctly, or some times starting from the wrong form in Navision. A typical issue is a client that has a numbering sequence that starts with "0" (zero). They may be searching for '0922031' but they are using search a you type, and are typing in 9 - 2 - 2 - 0 - 3 - 1 and between the 9 and the 2 there is 3 or 4 second delay. Training the user to turn off search as you type, select beginning, and type the missing '0' will save them a few seconds in searching. BUT they will say, oh but 3 seconds does not matter! Not realizing that when they are doing this search, the server hard drives are going crazy searching though a million records that might have a '9' in them and then through another 100,000 that might have a '92' in them, etc etc. So in fact the whole server is slowed down, because the drives are busy with a request that just is not needed. The NAV user monitor and the NAV drive monitor can be used to monitor these types of searches, and to see how to speed them up.
Search as you type
Do the users regularly use "Search as you type" if so do they know how to select the correct key first? Is search as you type very slow? Do they use the option "Any Part Of Field"
Filter vs search
Do the users make extensive use of Filters (F7) instead of searching?
Distributing activity
Are there any major process that users run during the day that could be moved to a nightly routine?
How do the users like the system
Are the users generally satisfied with he way Navision helps them at work (except for the fact that the system is slow).
