You are on page 1of 21

AX Performance

Tools Present and


Future
Eric Moos
Senior Support Escalation Engineer
Agenda

Key performance monitoring tools


Comparing Dynamics AX 2012 to new Dynamics AX
Open dialog / Q&A
Performance Monitoring Tools
Performance monitoring tools

Microsoft Dynamics AX Trace Parser


Performance Analyzer for Microsoft Dynamics
Performance Monitor (Perfmon)
Others
Microsoft Dynamics AX Trace Parser
Uses
Microsoft Dynamics AX client and AOS trace file analysis
Specific task analysis

Features
Drill down view of captured sessions
X++ methods
Captured SQL statements
Comparison between traces
Sub-trace creation

<see notes for troubleshooting, links and additional tips>


Performance Analyzer for Microsoft Dynamics
Uses
Database performance tuning
Microsoft Dynamics AX setup & best practices checks
General overview of database activity

Features
Database setup and settings
SQL query details and analysis
Missing indexes
Table setup and caching
Number sequence analysis
Hidden index scans
What’s New in DynamicsPerf 2.0 !!
Remote Data Collection
Scheduling Engine
Historical Tables
More QUERY Data
SSRS Analysis
Lots
Dynamics CRM collectors “It’s taken 6 months and almost 600 hours of coding time”
New Data collectors
FULLTEXT Indexes What has changed? EVERYTHING !!
Hub and Spoke of DynamicsPerf databases
SQL Server 2016 support
Microsoft Azure support
Refresh QUERY_PLANS
Stale QUERY_PLAN Removal
Performance Counter data on SQL
QUERY_ALERTS
SET_AX_TRACE
AOTEXPORT
Parsing of QUERY_PLANS
Extended Events
Parameters, Parameters, Parameters
Many, Many new sample queries
<see notes for references>
Performance Monitor (Perfmon)
Uses
Monitor local or remote system performance

Features
Real-time metrics from counters
Data collector sets
Reports
Others
Performance Analysis of Logs (PAL) Tool
SQL Activity Monitor
SQL Performance Dashboard Reports

<see notes for references>


Comparing Methods and Tools AX 2012 to
new Dynamics AX
Identify bottlenecks for a specific process
Dynamics AX 2012 new Dynamics AX
Collect application trace Collect application trace

Review with Trace Parser Review with Trace Parser

Tools/Options Performance timer


 &debug=develop, &debug=true

Browser options
 F12 > Network
All All

Environment
Identify long running queries
Dynamics AX 2012 new Dynamics AX
DynamicsPerf LCS Environment Monitoring
 SQL Insights (historical view)
SQL Server Query Store  SQL Now (current view)
 Activity > Raw logs > Slow queries
Tools/Options SQL Server Activity Monitor

SQL Statement Trace Log

All Production, Sandbox

Environment
Optimize queries affected by parameter sniffing
Dynamics AX 2012 new Dynamics AX
Identify with DynamicsPerf or Query Identify with LCS Environment
Store Monitoring
 See all plans for a query over time  SQL Insights: Download current plan

Tools/Options Resolve with


 DataAreaIdLiteral setting Resolve with
 Force literals in code  DataAreaIdLiteral setting
 Plan guides in SQL  Force literals in code
 Work with DSE if plan guide is
necessary

Environment All Production, Sandbox


View currently executing SQL statements
Dynamics AX 2012 new Dynamics AX
DynamicsPerf LCS Environment Monitoring
 Enable ConnectionContext on AOS  SQL Now
 Query for SQL/AX user details

Tools/Options SQL Server Activity Monitor

All Production, Sandbox

Environment
Identify blocked SQL statements
Dynamics AX 2012 new Dynamics AX
Identify with Identify with
 Blocked process report  LCS Environment Monitoring
 Deadlock graph  SQL Now > Blocking statements
 Activity > Raw logs > Deadlocks
Tools/Options
Resolve with Resolve with
 End blocking session from AX client <new features coming…>
 Kill blocking SPID from SSMS

All Production, Sandbox

Environment
Identify resource bottlenecks
Dynamics AX 2012 new Dynamics AX
Performance Monitor (Perfmon) LCS Environment Monitoring
 Processor, memory, disk, and network  Activity
counters  Environment > Health Monitors
 Environment > Health Metrics
Tools/Options

All Production, Sandbox

Environment
Identify SQL resource bottlenecks

Dynamics AX 2012 new Dynamics AX

Throughput/ SQLServer:SQL Statistics


 \Batch Requests/sec
Load

Processor Processor\% Processor Time


SQL Utilization based on
Memory SQL Server: Buffer Manager Database Transaction Units (DTUs)
 \Page life expectancy
 \Buffer cache hit ratio Blended measure of
Memory\Available MBytes  CPU
 Memory
Disk Logical Disk\Avg. Disk Sec/Read  Read and write rates
Logical Disk\Avg. Disk Sec/Write

Network Network Interface\Packets Outbound Errors,


Output Queue Length, Bytes Total/Sec,
Current Bandwidth
Identify AOS resource bottlenecks
Dynamics AX 2012 new Dynamics AX

Throughput/ Microsoft Dynamics AX Object Server\Active Microsoft Dynamics Ax Services Session


Sessions Provider(w3wp)\# Active Sessions
Load

Processor Processor\% Processor Time Processor\% Processor Time


Process(AX32Serv)\% Processor Time Process(w3wp)\% Processor Time
Process(batch)\% Processor Time

Memory Memory\Available Mbytes Memory\Available MBytes


Process(AX32Serv)\Private bytes Process(w3wp)\Private bytes
Process(w3wp)\Private bytes

Disk Logical Disk\Avg. Disk Sec/Read Not available in LCS


Logical Disk\Avg. Disk Sec/Write

Network Network Interface\Packets Outbound Errors, Not available in LCS


Output Queue Length, Bytes Total/Sec,
Current Bandwidth
Review form performance and usage patterns
Dynamics AX 2012 new Dynamics AX
Client access log Raw logs > All logs

Tools/Options

All Production, Sandbox

Environment
Q&A
© 2016 Microsoft Corporation. All rights reserved.

You might also like