RSS

Tag Archives: performance

Performance Issue – Maximum buffer size

Issues:

We keep getting performance error when using forms in AX (CustTable, SalesTable, etc).  One common pattern is that tables using in these forms are heavily customized. More fields, joins are added.  Increasing buffer size did not help, clearing cache helped some scenarios but not all.  Some issues appeared and then went away.

Errors can be like the following :

The number of joins in the statement is 32. This exceeds the maximum of 26. Turn on exception for this warning to see the call stack.

The total, internal size of the records in your joined SELECT statement is 61176 bytes, but Microsoft Dynamics is by default performance-tuned not to exceed 49152 bytes.

It is strongly recommended that you split your table(s) into smaller units.
Alternatively, you have to specify a ‘Maximum buffer size’ value of 60 Kbytes or higher on the ‘Database Tuning’ tab page in the Microsoft Dynamics AX Server Configuration Utility. The default value is 24 Kbytes.

image

Cause:

DEL_ fields are only needed when we do an upgrade from previous version. In our case, we are not doing an upgrade; therefore we can safely turn off those keys. Generally speaking turning these key off, it removes the physical data from the database. Hence, it reduces fields returned from select statements, which in this case is  a great performance improvement

Solution:

If you have been running successfully for a reasonable timeframe (three months for example), then you can consider turning off the configuration key. It is recommended to turn these off in all environments.

1> Go to System administration > Setup > Licensing > License configuration
2> Turn these “Keep update objects” off
3> Sync and generate CIL

image

Advertisements
 
1 Comment

Posted by on March 9, 2015 in Development

 

Tags: , , , ,

AOS takes a long time to start

Problem:

When you start an AOS, you may notice it takes a very long time before the service gets the status “Started”. A possible cause is left-over data in SysClientSession table. When starting up, the AOS seems to check if the client is still around.  The SysClientSessions contains the data for the client sessions that are currently active in the system.

Solution:

1. Shut down AOS for sing instance or all AOSes for multiple instances (not an ideal way in Production)

2. Use SQL Server Management Studio and run this sql

SELECT        SESSIONID, SERVERID, VERSION, LOGINDATETIME, LOGINDATETIMETZID, STATUS, USERID, SID, USERLANGUAGE, HELPLANGUAGE, CLIENTTYPE,
SESSIONTYPE, CLIENTCOMPUTER, DATAPARTITION, RECVERSION, RECID
FROM            SYSCLIENTSESSIONS

image

3. Delete all client records

4. Restart AOS(es)

 

Tags: , ,

Tips and Tricks – CU7 – Compile optimization for CU6

Everyone is fascinated about CU7 compiler but you have to wait until you are approved to install CU7 onto your environment. For one likes me, I could not wait and decided to poke around with CU7 and have discovered that CU7 should provide backward compatibility; therefore I’m going to give it a try to get the AX32Build to my CU6 environment

My VM machine:

· Intel Core i7 2.67 GHz
· Memory: 12288
· OS: Running Dynamics AX 2012 (CU6) – No custom codes

Kernel should support backward compatibility. Here is the trick how to install on CU6 and get the AX32Build.exe file

clip_image002

clip_image004

Script: Go to the folder where AX32Serv.exe is

axbuild.exe xppcompileall /aos=01 /nocleanup /altbin=”C:\Program Files (x86)\Microsoft Dynamics AX\60\Client\Bin” /workers=4

Command Line

clip_image006

Workers: 4

clip_image008

The result is amazing. Try it for yourself and spread the words. Have fun DAXing.

 
Leave a comment

Posted by on November 18, 2013 in Installation and Configuration

 

Tags: , , , , , ,

 
%d bloggers like this: