Saturday 8 June 2013

Tools for monitoring performance in AX 2012


 “Good performance requires good and continuous monitoring. If you find problematic processes early, you can optimize them without significantly affecting your end users. Remember that performance tuning is an iterative process. Often, you must complete more than one round of tuning to achieve the maximum improvement in performance.” - Microsoft Tech Net,  May 29, 2012

Microsoft recommend the following tools for monitoring the performance of Microsoft Dynamics AX.

1. Performance Monitor
Performance Monitor is the basic tool for obtaining an overview of performance. You can review the CPU, disk, and memory counters to find performance issues. After you have identified a time frame during which your system may have experienced performance problems, you can add more specific counters to understand the problem in more detail.

Performance Monitor is a simple yet powerful visualization tool for viewing performance data, both in real time and from log files. With it, you can examine performance data in a graph, histogram, or report.

Membership in the local Performance Log Users group, or equivalent, is the minimum required to complete this procedure.

To start Performance Monitor

1.     Click Start, click in the Start Search box, type perfmon, and press ENTER.
2.     In the navigation tree, expand Monitoring Tools, and then click Performance Monitor. You can also use Performance Monitor to view real-time performance data on a remote computer. Membership in the target computer's Performance Log Users group, or equivalent, is the minimum required to complete this procedure.

To connect to a remote computer with Performance Monitor

1.     Start Performance Monitor.
2.     In the navigation tree, right-click Reliability and Performance, and then click Connect to another computer.
3.     In the Select Computer dialog box, type the name of the computer you want to monitor, or click Browse to select it from a list.
4.     Click OK.

For more details, follow the below links:


2. Microsoft Dynamics AX 2012 Trace Parser

Trace Parser ships with Microsoft Dynamics AX. Trace Parser consolidates information from multiple sources, such as remote procedure calls (RPCs) and Microsoft SQL Server, to provide an integrated view of application performance at run time.


o    Tracing Cockpit Form



3. Performance Analyzer for Microsoft Dynamics AX (DynamicsPerf)
DynamicsPerf can be used to collect information from Microsoft Dynamics AX and SQL Server. DynamicsPerf consists of a database and a collection of scripts that collect information from SQL Server and Microsoft Dynamics AX. Based on this information, you can find issues such as expensive queries and locking/blocking. When you have gained experience, you can also use this tool to find inefficient code or business processes.


4. System Center Operations Manager Monitoring Pack for Microsoft Dynamics AX 2012

The Monitoring Pack can be used to monitor your system. The Monitoring Pack can automatically discover the servers in your environment, monitor server availability, and find violations of setup best practices.

5. Microsoft Visual Studio Profiling Tools 
The Visual Studio Profiling Tools help you identify performance issues in source code and compare the performance of possible solutions. For more information, see the following resources:


6. Intelligent Data Management Framework for Microsoft Dynamics AX

Intelligent Data Management Framework (IDMF) provides functionality that resembles the functionality of DynamicsPerf, and also includes a user interface. IDMF also provides tools for activities that are related to data management, such as archiving and purging.























IDMF Screenshots: 








7. Performance Analyzer for Dynamics

Performance Analyzer 1.0 for Microsoft Dynamics is the tool used by Microsoft Dynamics support, Premier Field Engineers, and product team members to diagnose performance issues with Dynamics products.  The following is a step-by-step guide to installing this tool set on your SQL Server environment.

This tool is delivered as a SQL Server solution file and can be downloaded from http://code.msdn.com/dynamicsperf.  Once the file is unzipped the solution can be opened from within SQL Server Management Studio.

On the Menu, click File | Open | Project Solution



Choose the Performance Analyzer 1.0 for Microsoft Dynamics Solution file




To view the Solution Explorer in SQL Server Management Studio, click View | Solution Explorer or Ctrl - ALT-L.



The next step in deploying the tool is creating the database and the objects.  In Solution Explorer, on the right hand side, select CreateDynamicsPerfDB.sql query.



This script will create a database called DynamicsPerf in the default location.  It is initially 500Mb for the data file and 100Mb for the Transaction Log file for this database.  Each data collection is approximately 500Mb to 1 GB in size.  This varies widely depending upon total system memory and how much activity is occurring.  To manage database size there is a job called DYNPERF_Capture_Stats_Purge.  This job by default will run once per day at 6PM and delete data older then 7 days old.  Adjusting the number of days to retain data in this job  is the method for controlling the database size of the DynamicsPerf database.

The next step is to create all of the database objects and SQL Jobs used by Performance Analyzer.  Select CreateDynamicsPerfObjects.sql query on the right hand side in Solution Explorer.



This script creates all of the Tables, Procedures, and SQL Jobs used by the tool in the DynamicsPerf database.  In order to do blocking analysis, the script will set a configuration option called "Blocked Processes Report" to five seconds.  (Setting up data gathering for blocking will be explained in another blog post.)  After running the create object script the results returned from this script should look as follows:




Performance Analyzer is designed to capture all Query and Index data for one database.  To make this easier to configure, all basic functionality to collect data has been provided in a set of SQL Jobs.  In order to do basic data capture, the SQL Job called DYNPERF_Capture_Stats must be edited to define which database to collect performance data on.



Either double click this job, or right click and select properties.  This should bring up the following dialog to edit the SQL job.




Click on the Steps page on the left hand side of this dialog


Click the Edit button to edit the single step in this job.


In the command of this job step, change the '<dbname>' to the name of the database to collect performance data from such as 'AX_Live'.  Click the 'Ok' button to save the changes.




At this point, basic data collection has been setup for Performance Analyzer .  By default data will be collected once per day at 5PM.  This is the default schedule for the DYNPERF_Capture_Stats  job, but you can edit it to find a time that better fits the data you're trying to collect.


Reference from : http://technet.microsoft.com/ and other MS materials...