1. Why my system is very slow ?
If the Axapta Configuration Utility (axconfig) is set to 'Initialize database for Unicode', then the Axapta kernel (both AOT or 2-tier client) would instruct the SQL Server ODBC driver that string search criteria should be converted from VARCHAR to NVARCHAR. This results in severe performance degradation if the database was in fact not initialized for Unicode, because string columns are then in fact VARCHAR, which will have the SQL Server conclude that index on the VARCHAR columns are less than useful.
The answer would be to set the Axconfig parameter 'Initialize database for unicode' to how the database was in fact initialized. In other words, ensure that AxConfig and the database setting matches. By the way, if the used database is an upgraded Axapta 2.5 database, then it was NOT initiliazed for unicode.
2. Is there any tool for checking invalid code in forms and verifying Client /Server performance?
Yes. There is a tool called Navision Axapta forms open tool.
Using this one can do the following -
a. Check for invalid code in forms, tab-pages and look-up's.
b. Check for SQL performance problems.
c. Verify Client/Server performance.
d. Check for non-coherent configuration.
This tool cannot be used for -
a. Checking that data is correct.
b. Checking that data is coherent.
c. Checking that functions that update data work.
There is a white paper available in Technet website which would give more information about this tool. To refer the white paper, please click here.
3. Does Axapta supports caching?
Yes. With version 2.5, Axapta introduced two new forms of data caches, viz Entire Table Cache and Record view cache. Database record caching in Axapta is a performance enhancing feature aimed at avoiding database access when it is not strictly necessary. Since it is handled at kernel level, caching is transparent to the application.
The new caching methods supplement the existing Record and Read-Ahead caches and vastly improve performance, particularly in a 3-tier setup.
Also there is a way using which we can cache display methods as well. Example - ProdTableOverView form.