AX is Very Slow

Hi all,

one of my client facing the bellow problem.

One of the user upload JV in single file in Axapta, the other users are unable to make the entries in Axapta, it is showing as “Not Responding.

Please help me any one

Thanks!!!

It sounds more like blocking than slowness, doesn’t it?

Hi martin,

I gone through the below steps:-

  1. I have removed the cache data.
  2. restarted the AOS.
  3. Generate the full CIL.

But, still facing the same issue

Please suggest me martin. what could be the better way.

That’s not surprising, I wouldn’t expect neither of them to fix the problem. Instead, you must analyze the problem. When you understand what’s going on, you can fix it.

As I suggested before, I think you should think about whether it’s a slowness (as the the title suggests) or the user is blocking others (as the description suggests). The way of debugging will be different.

If it’s the later case, start with finding which resource is locked. Assuming that it’s something in database, the easiest way doing it directly at database level (e.g. Finding blocking/locking queries in MS SQL).

Hi Martin,
We are using AX 2009 and have problem while posting the sales invoice/production order that system is get hang (i.e. Not Responding).
If we see in sql server’s activity monitor(we have SQL server 2008 R2), it seems user is blocking others (some time this user is in head block)and respond time is very high of that blocked user. It frequently happens from this month.
There is weekly indexing schedule (every Saturday night @ 12 am). One more thing is now we have only 74 GB free space on the server. And now our total database size is 350 GB, so is there any performance issue of that much database size on AX?

Any suggestion pls to come out from this issue.

Thanks,

Why do you ask me whether you have a performance issue if you already know that the problem is caused by blocking? People aren’t blocked because the system is slow, they’re waiting for a locked resource in database? Shouldn’t you address this problem instead of playing with compilation, disk space and such unrelated things?
As I mentioned before, you should start with finding which resource is locked and by which query. Then you can try redesigning it to avoid locking completely or holding the long for shorter time.

Okay Martin, Thank you for the reply.

Hi Martin,

I found that a Table “TaxDocumentTransitRelation” is blocking at SQL Level, while opening That table getting below error.

Please find the attached screen short.

8865.Capture.PNG

Please give me suggestion!!

Thanks

The error message isn’t related to performance; I think the table is simply set with Visible = No. Focus on what’s blocked and why.

Hi Martin,

When we are searching in google we found the below link. Please check it once whether its correct solution or not guide me.

http://msdynamicserp.blogspot.com/2017/07/cannot-delete-record-in.html#.WoPgkqiWbIV

Cannot delete a record in TaxDocumentTransitRelation (TaxDocumentTransitRelation). Deadlock, where one or more users have simultaneyously locked whole table or part of it.

Replace the below code from existing one.

public void deleteByTransitDocumentType(TransitDocumentType_IN _documentType)

{
TransitDocumentTransactionRelationMap_IN relationMap;
Common transitDocTable;
if (!_documentType)
{
return;
}
relationMap = this.getTransactionRelationTable(_documentType.RefTableId);
transitDocTable = new DictTable(_documentType.RefTableId).makeRecord();
ttsBegin;
//delete_from relationMap
while select relationMap
where relationMap.TransitDocumentType == _documentType.RecId
notExists join transitDocTable
where relationMap.TransitDocumentRecId == transitDocTable.RecId
{
relationmap.selectForUpdate (true);
relationMap.delete();

}
ttsCommit;
}

Unfortunately I have no information about which queries were blocking each other and what was the original code, so I can’t comment on the suggested change.

Hi martin,

Issue has been completed…

Thanks for giving reply…