Our client has started experiencing lots of blocking, which is slowing down their system.
They only noticed this on Tuesday, it wasn’t an issue before that.
The blocking happens several times a minute, for just a few seconds each time.
It is experienced by many different users, in different areas of Navision, with no noticeable pattern.
In all cases, in the session table, the userID is the same as the “blocking user ID” (i.e. the user seems to be blocking their own ID), and the “blocking object” is blank.
So it is not clear what to investigate (and besides, no objects were modified in the last 12 days).
I sent the clie a document with several different suggestions (e.g. turning off “Find As You Type”, ensuring that there is sufficient free space, running SQL maintenance jobs regularly, turning off AutoCostPosting, etc.). They said that they implemented many of the suggestions without seeing any improvement.
ChangeLog is only activated on two tables, which are part of an add-on.
They are using Nav 3.70 B on SQL 2000, with a 60 GB database.
How can we find what is causing the blocking, when there is no blocking object (and no other user ID) mentioned?
Thanks,
Alastair
Alastair Farrugia
0
Comments
Independent Consultant/Developer
blog: https://dynamicsuser.net/nav/b/ara3n
maybe this could help you a little:
http://dynamicsuser.net/blogs/stryk/archive/2008/11/03/blocks-amp-deadlocks-in-nav-with-sql-server.aspx
But this actually refers to SQL Server 2005 and up.
With SQL 2000 you have very limited options in recording blocks & deadlocks; maybe you could create a table ...
... then a stored procedure to save the block data ...
(Don't forget to install all this in you NAV database!)
Finally you could create a job which executes this TSQL query in the "Job Step":
(Run in context of your NAV database!)
This would start the SP in a loop mode which checks every 3 seconds if there are blocks of more than 1000 milliseconds (change parameters on demand); if some detected it will write the info into the table. Then you could run some further investigations about blocking issues ...
Caution: in some cases this block-detection could cause heavy load (I/O, CPU) on the system!
Also have in mind that several NAV client versions are affected with some bugs :bug: which also could increase blocking issues!
Hope this could help you a little.
ALL SCRIPTS ARE PROVIDED "AS IS". NO WARRANTY, NO GUARANTEE, NO SUPPORT. USE AT OWN RISK.
NAV/SQL Performance Optimization & Troubleshooting
STRYK System Improvement
The Blog - The Book - The Tool
I talked to the client again. They clarified that this was not a sudden problem – performance has suffered for some time, and this week they thought of checking if any blocking was occurring, but it might have been happening before that.
They have restarted the SQL Server, and the blocking is still occurring at the same rate.
They are going to look at other actions (allowing pagelocks on SQL Server, creating missing indexes, implementing AWE, and possibly increasing their RAM from the current 4 GB).
We will see if these help with the performance.