This is the third and last part of "the top 10 recommendations" list to prepare a Microsoft Dynamics AX 2012 Go Live.
7. Prepare Windows Performance Monitoring for ETL trace
We do not recommend to collect such Dynamics AX trace in production because it can generate a very large size file and eventually impact performance. Also if too many users are running on the same AOS server, you won’t be able to easily identify the trace you are looking for.
But it is very much recommended to create the template and test upfront to make sure Dynamics AX Trace can be captured when requested by Microsoft Support or Application partner. This trace can be then analysed offline with Trace Parser tool.
To set up the template, you need to open Windows Performance Monitor and manually create a new Data Collector Set with following properties:
- Name = AX2012Trace (as an example)
- Type = Event trace data
- Event Trace Provider = Microsoft-DynamicsAX-Tracing
- Properties = XPPMarker, TraceInfo, RPC , XPP, SQL, Database Detailed, TTS, BindParameter , XPPParm
Once created, you can adjust the “Stop Condition” Properties to maximum size of 15,000 MB.
Also, under DataCollection01 Properties, you should set up the trace buffer like:
- Buffer size: 512
- Minimum buffers: 60
- Maximum buffers: 60
Tip: You should rename the ETL file to facilitate its analysis. For example, you can add the following information in the prefix: Environment, AOS, user name and Business Process Name. An example of such naming convention can be PROD_AOS01_Admin_CreationSalesOrder
8. Create a baseline for all servers in production
Monitoring all resources of all servers in production is not optional and should be handled by hosting partner. However, during the first week of Go Live, it is quite important to collect several counters to better understand the impact of the Dynamics AX work load on the resources.
The recommendation is therefore to run Windows Performance Monitoring Data Collection for all servers in production with daily file, frequency of 40 seconds and following key counters:
- Processor: % Processor time – sustained values above 80% may indicate a processor bottleneck.
- Memory: Available Mbytes – dropping below 100 MB may indicate a memory bottleneck.
- Logical Disk: Avg Disk sec/read and Avg disk sec/write – sustained values above 15 ms may indicate a disk bottleneck.
- Network Interface: Output queue length – sustained values above 0 indicate queuing and a possible network bottleneck
- Microsoft Dynamics AX Object Server: Active sessions – informational
- SQL Server Buffer Manager: Buffer cache hit ratio – values below 98% may indicate a memory bottleneck or inefficient data access (lots of scanning).
- SQL Server Buffer Manager: Page life expectancy – values below 300 seconds may indicate a memory bottleneck or inefficient data access (lots of scanning). On large memory system (more than 64 GB), values should stay well above 1200 seconds.
- SQL Server Statistics: Batch Request /Sec: informational
You can get SQL Server and AOS Server Perfmon templates from the solution [DynamicsPerf]. Based on the first analysis you can add new counters for Memory or Processor.
Tip: you can leverage the Performance Analysis of Logs tool (PAL) to automatically create HTML reports of every Perfmon files (BLG extension).
9. Verify live user connections
This is a very useful information to have at runtime. You can check the number of users in the online form of System Administration module to visualize the number of active sessions and per AOS server. However the following SQL script will retrieve the live data from the Dynamics AX database to list all connections:
Select USERID, COMPUTERNAME, CLIENTTYPE, CREATEDDATETIME, LOGOUTDATETIME, TERMINATEDOK from SYSUSERLOG where CREATEDDATETIME > getdate() -1
Tip: You can then extract the information and visualize how the users are connecting.
The following picture is a real customer scenario where peak of 120 users was reached at around 10 AM. This can really help in some situation when for example all users are connecting at the same time. If 100 users are opening their session within few minutes in the morning, you can better understand the pressure on the Remote Desktop Host Server.
10. Prepare one virtual machine for support
Last but not least, all these recommendations mean that you need to execute SQL Server Management Studio, SQL Server Profiler, Performance Monitor applications on the data collected in production. To avoid any risk of impacting the resources dedicated to the active SQL server instance, it is advised to prepare one dedicated virtual server. You can deploy all these tools and it can be the System Center Operation Manager server or the Help Server for example.
- SQL Management Studio with access to the DynamicsPerf solution
- SQL Profiler
- Dynamics AX 2012 Trace Parser
- PAL tool to automatically generate report from BLG files collected on all production servers.
Tip: you can also use this VM to run Lifecycle Services (LCS) System Diagnostic tool. This is a pre requisite for Cloud-Powered Support and Replica VM feature.
Principal Premier Field Engineer