原文地址(GFW)：http://kurthatlevik.wordpress.com/2011/09/26/is-ax-2012-slower-than-ax-2009/

Is AX 2012 slower than AX 2009? First I would congratulate Microsoft with the release of Dynamics AX 2012. It looks very nice, and we get very good feedback from the marked on it. But this blog post is questioning the statement that AX 2012 is much faster than AX 2009. The reason why I raise this is because I often feel that the AX 2012 actually is slower than AX 2009 when it comes to opening, and using AX forms. I was then wondering if it could be related to the fact that I was using the Hyper-V image from Microsoft. I also wondered if it could be related to the hardware we used. To check out this, I decided to make some simple tests to compare AX 2009 to AX 2012 performance.

The first thing I did was to eliminate hardware restrictions. I get a new portable PC, with 8 CPU cores, 16 Gb RAM and 2 SSD disks. I then installed Windows Server 2008 R2 and MS SQL 2008 R2 with all updates from windows update. I then also installed AX 2012First I would congratulate Microsoft with the release of Dynamics AX 2012. It looks very nice, and we get very good feedback from the marked on it. But this blog post is questioning the statement that AX 2012 is much faster than AX 2009. The reason why I raise this is because I often feel that the AX 2012 actually is slower than AX 2009 when it comes to opening, and using AX forms. I was then wondering if it could be related to the fact that I was using the Hyper-V image from Microsoft. I also wondered if it could be related to the hardware we used. To check out this, I decided to make some simple tests to compare AX 2009 to AX 2012 performance.

The first thing I did was to eliminate hardware restrictions. I get a new portable PC, with 8 CPU cores, 16 Gb RAM and 2 SSD disks. I then installed Windows Server 2008 R2 and MS SQL 2008 R2 with all updates from windows update. I then also installed AX 2012 locally from scratch, and applied the Cumulative 1 to the AX installation.

Then I decided to look into the form/List page “All customers”( CustTableListPage), because this form is functFirst I would congratulate Microsoft with the release of Dynamics AX 2012. It looks very nice, and we get very good feedback from the marked on it. But this blog post is questioning the statement that AX 2012 is much faster than AX 2009. The reason why I raise this is because I often feel that the AX 2012 actually is slower than AX 2009 when it comes to opening, and using AX forms. I was then wondering if it could be related to the fact that I was using the Hyper-V image from Microsoft. I also wondered if it could be related to the hardware we used. To check out this, I decided to make some simple tests to compare AX 2009 to AX 2012 performance.

The first thing I did was to eliminate hardware restrictions. I get a new portable PC, with 8 CPU cores, 16 Gb RAM and 2 SSD disks. I then installed Windows Server 2008 R2 and MS SQL 2008 R2 with all updates from windows update. I then also installed AX 2012 locally from scratch, and applied the Cumulative 1 to the AX installation.

Then I decided to look into the form/List page “All customers”( CustTableListPage), because this form is functionally quite similar to AX 2009.

AX 2012 CustTableListPage formionally quite similar to AX 2009.

AX 2012 CustTableListPage form locally from scratch, and applied the Cumulative 1 to the AX installation.

Then I decided to look into the form/List page “All customers”( CustTableListPage), because this form is functionally quite similar to AX 2009.

AX 2012 CustTableListPage form

AX 2009 CustTableListPage form

I then focused on opening this form, and time it. To get the best results as possible, I decided to open the form a few times before I started to time the opening of the form, to make sure that the AOS and SQL server had cached every thing in memory.

My findings was this:

Form name | AX 2009 | AX 2012 |

CustTableListPage | 1.4 seconds |
3,83 seconds (With Aero)3,5 seconds (Without Aero) |

I have retried in several different environment and configurations, and the results are pretty much the same AX 2012 is **SLOWER** than AX 2009, when it comes to forms. And 3-4 seconds to open a form IS regarded as slow, because we often get the response requirement from customers.

I decided to see where AX 2012 is actually using time, and therefore started using the code profiler to time the AX 2012 with and without AERO

Form name : CustTableListPage | Duration | Method calls |

AX 2012 with Aero (client) | 3835150,0000 ms |
790 |

AX 2012 without Aero (client) | 3470196,0000 ms |
745 |

AX 2009 | 1413078,0000 ms |
253 |

We see that AERO enabled, the client actually needs to perform 45 additional method calls when opening this form on AX 2012, but the number of method calls compared to AX 2009 is more than doubled.

Here is the profile for when opening the form in AX 2012:

We see here that AX 2012 uses a lot of time in the SysSetupFormRun.init(), and that the SysSetupFormRun.loadUsersettings() is actually loaded 10 times. The reason for this is the fact boxes related to this form.

If we hide the fact boxes, we get a much better performance :

Form name | AX 2012 with fact boxes hidden |

CustTableListPage | 2.0 seconds |

In the profiler we see

So the conclusion is, that to speed up the AX 2012, reduce the number of fact boxes that is loaded, because for each fact box added to a form, the SysSetupFormRun.loadUserSetting() is slowing your system down.

To hide fact boxes, the following can be done :

Also remark that AX 2009 is faster, because of fewer method calls. AX 2012 seams to redraw the screen for each loadUsersetting.

PS! It would be fun to compare AX 3.0 to AX 2012. Here I think the difference would be even larger.

转载请注明：ww12345678 的部落格 | AX Helper » [转]Is Microsoft Dynamics AX 2012 slower than AX 2009?