Performance (Timeout) Problem with Microsoft Dynamics AX Enterprise Portal

Some time ago we got problems with performance on Microsoft Dynamics Ax Enterprise Portal. The Microsoft Dynamics AX client was working perfectly fine and the were no delays. But as soon we got to an Enterprise Portal the issue started. Enterprise Portal Role Center was opening very slowly. First of all we always advise to install following hotfix: KB 2587754: You experience slow performance when you run a request in the Enterprise Portal in Microsoft Dynamics AX 2009 Service Pack 1 to avoid that we running into the same problem.

The issue still occurred. What is strange when we had debugging disabled we got always the same error trying to enter Role Center page:

An unexpected error has occurred.
Please check the event log or contact your administrator.

And in event log:

From: Microsoft.Dynamics.Framework.BusinessConnector

Dynamics Object Adapter Call failed.
Thread was being aborted.
System.Threading.ThreadAbortException
at AxCore_Call(UInt64 , Char* , tagVARIANT* , Int32 , tagVARIANT* )
at Microsoft.Dynamics.BusinessConnectorNet.AxaptaObject.Call(String methodName, Object[] paramList)
at Microsoft.Dynamics.Framework.BusinessConnector.Session.DynamicsObjectAdapter.Call(String methodName, Object[] paramList)

And:

No .NET Business Connector session could be found.
Microsoft.Dynamics.Framework.BusinessConnector.Session.Exceptions.NoKernelSessionException
at Microsoft.Dynamics.Framework.BusinessConnector.Session.DynamicsSession.get_AxaptaAdapter()
at Microsoft.Dynamics.Framework.Portal.AxWebSession.WebSessionClientRemove()
at Microsoft.Dynamics.Framework.BusinessConnector.Session.DynamicsSession.Release(ICacheContext context)

Followed by ASP.NET warning

Exception information:
Exception type: HttpException
Exception message: Request timed out.

What make sense, setting property debug=true in web.config cause IIS to ignore timeout settings this is why we got page up and running. What is more accessing any other page beside Role Center work very fast. After log investigation we found out that the issue was on Work List Web Part. Removing this web part allowed the Role Center to load slowly. This Web Part is used in every Role Center this is why we got into the problem every time we tried to open any Role Center.

It happens that issue was connected with the volume of table EvenInbox assigned to user (field USERID) who tried to access Role Center page. There were more than 10000 records.

Table EventInboxs contains:

– Alerts set up for user

– Workflow communication (request for approval, completion information etc)

– Errors (ie. Workflow execution errors, Project synchronization errors etc)

– Batch alerts (depended on batch job settings)

If user is administrator and a lot is happening then we can end up with lots of records in table EventInbox which leads into problems on Role Center page.

The good practice is to schedule batch job provided to clean this table which you can find: Administration > Periodic > Notification clean-up as a part of your maintenance plan to make sure it will not grow too much.