Convergence 2013 4/20/2017 © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.

Slides:



Advertisements
Similar presentations
Microsoft Dynamics® AX 2012
Advertisements

Chapter 9. Performance Management Enterprise wide endeavor Research and ascertain all performance problems – not just DBMS Five factors influence DB performance.
Module 13: Performance Tuning. Overview Performance tuning methodologies Instance level Database level Application level Overview of tools and techniques.
Enhancing Application Performance Root Causes and Quick Solutions.
Adam Jorgensen Pragmatic Works Performance Optimization in SQL Server Analysis Services 2008.
Managing Customers & Sales in Enterprise Solutions Derek Butts.
A Fast Growing Market. Interesting New Players Lyzasoft.
Dos and don’ts of Columnstore indexes The basis of xVelocity in-memory technology What’s it all about The compression methods (RLE / Dictionary encoding)
Microsoft Dynamics AX with other Microsoft Technologies Amer Atiyah Microsoft Dynamics AX Solution Architect 14/12/2009.
AppManager 7: Deep Technical Dive Tim Sedlack & Michi Schniebel Sr. Product Managers.
IT:Network:Applications VIRTUAL DESKTOP INFRASTRUCTURE.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 11 Database Performance Tuning and Query Optimization.
Microsoft Dynamics AX Technical Conference 2013
Microsoft Dynamics GP 2013 R2 Identity Management SmartList Designer 2.0 Take Company Offline Azure Backup Ribbons on desktop client SQL Server.
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
Module 8: Monitoring SQL Server for Performance. Overview Why to Monitor SQL Server Performance Monitoring and Tuning Tools for Monitoring SQL Server.
Enables businesses achieve greater efficiency by sharing data and processes Shared application data across legal entities— party, location, products…
Troubleshooting SQL Server Enterprise Geodatabase Performance Issues
Database Systems: Design, Implementation, and Management Tenth Edition Chapter 11 Database Performance Tuning and Query Optimization.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Database Performance Tuning and Query Optimization.
Copyright ®xSpring Pte Ltd, All rights reserved Versions DateVersionDescriptionAuthor May First version. Modified from Enterprise edition.NBL.
WaveMaker Visual AJAX Studio 4.0 Training Authentication.
Oracle Challenges Parallelism Limitations Parallelism is the ability for a single query to be run across multiple processors or servers. Large queries.
Module 7 Reading SQL Server® 2008 R2 Execution Plans.
Using SAS® Information Map Studio
Implementing Resource Management within EPM Roy Kayahara Program Manager Microsoft Office Project Microsoft Corporation.
Oracle Tuning Ashok Kapur Hawkeye Technology, Inc.
Applications hitting a wall today with SQL Server Locking/Latching Scale-up Throughput or latency SLA Applications which do not use SQL Server.
BA372 Stored Procedures and Triggers Lab. What needs to be done to change a customer’s credit limit? Who am I? May I? Do it Log it Display A database.
1 Chapter Overview Performing Configuration Tasks Setting Up Additional Features Performing Maintenance Tasks.
By Shanna Epstein IS 257 September 16, Cnet.com Provides information, tools, and advice to help customers decide what to buy and how to get the.
8 1 Chapter 8 Advanced SQL Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
SharePoint enhancements through SQL Server RSS integration with SharePoint What’s New Elimination of IIS
© IBM Corporation 2005 Informix User Forum 2005 John F. Miller III Explaining SQLEXPLAIN ®
Presented by Vishy Grandhi.  Architecture (Week 1) ◦ Development Environments ◦ Model driven architecture ◦ Licensing and configuration  AOT (Week 2)
1 Adaptive Parallelism for Web Search Myeongjae Jeon Rice University In collaboration with Yuxiong He (MSR), Sameh Elnikety (MSR), Alan L. Cox (Rice),
Stored Procedure Optimization Preventing SP Time Out Delay Deadlocking More DiskReads By: Nix.
1 Copyright © 2005, Oracle. All rights reserved. Following a Tuning Methodology.
Presented by Vishy Grandhi.  Lesson 1: AX Overview  Lesson 2: Role based security  Lesson 3: Monitoring  Troubleshooting.
1 Chapter 9 Tuning Table Access. 2 Overview Improve performance of access to single table Explain access methods – Full Table Scan – Index – Partition-level.
Session id: Darrell Hilliard Senior Delivery Manager Oracle University Oracle Corporation.
TOP 10 Thinks you shouldn’t do with/in your database
5 Copyright © 2008, Oracle. All rights reserved. Testing and Validating a Repository.
Database Systems, 8 th Edition SQL Performance Tuning Evaluated from client perspective –Most current relational DBMSs perform automatic query optimization.
Stored Procedures for Web Search Engine Dejan Sunderic
Dynamicpartnerconnections.com Development for performance Oleksandr Katrusha, Program manager
Dynamics Tech Conference 2015 PART 1. Dynamics R3 CU8 Retail warehouse Built-in modules for warehouse efficiency License plating.
October 15-18, 2013 Charlotte, NC Accelerating Database Performance Using Compression Joseph D’Antoni, Solutions Architect Anexinet.
Give a quick overview of the Microsoft Dynamics AX 2012 training system architecture Discuss ‘Day in the life’ benchmark study Provide the first sizing.
AX DEVELOPMENT FOR NON- DEVELOPERS Why did my 15 minute change take 3 weeks.
Dynamic SQL Writing Efficient Queries on the Fly ED POLLACK AUTOTASK CORPORATION DATABASE OPTIMIZATION ENGINEER.
Enables businesses achieve greater efficiency by sharing data and processes Shared application data across legal entities – Party, Location, Products,
3 Copyright © 2006, Oracle. All rights reserved. Designing and Developing for Performance.
Exploreengage elevateexploreengage elevate AXUG Colorado Chapter Meeting May 19, 2016 Presented by Michael Oakes & Tom Kim AXMentor, Inc. Performance Optimization.
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
Dynamics AX Henrik Hasselblad Business Unit Manager.
Real-time Performance Monitoring for SQL Server and Dynamics AX
Managing, Storing, and Executing DTS Packages
Get the Most out of SQL Server Standard Edition
Dynamic SQL Writing Efficient Queries on the Fly
Flash Storage 101 Revolutionizing Databases
Microsoft MB6-704 Microsoft Dynamics AX 2012 R3 CU8 Development Introduction Practice Exam Questions.
Word Templates and in Microsoft Dynamics GP
Maximize the performance and scale of Microsoft Dynamics AX
Dynamic SQL Writing Efficient Queries on the Fly
Database Performance Tuning and Query Optimization
Blazing-Fast Performance:
Free MB6-704 Actual Tests - MB6-704 Actual Dumps PDF
SQL 2014 In-Memory OLTP What, Why, and How
Chapter 11 Database Performance Tuning and Query Optimization
Presentation transcript:

Convergence 2013 4/20/2017 © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

DDAX04 Tips and tricks for optimizing performance in Microsoft Dynamics® AX 2012 Gana Sadasivam Christian Wolf Microsoft

Microsoft Dynamics® AX Technical Conference 2012 4/20/2017 Session objectives Performance story Tuning methodology Benchmarks What’s new in Microsoft Dynamics AX 2012 R2 and its effect on performance Tips and tricks © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Performance/scalability roadmap Microsoft Dynamics® AX Technical Conference 2012 4/20/2017 Performance/scalability roadmap Microsoft Dynamics AX 4.0 Microsoft Dynamics AX 2009 Microsoft Dynamics AX 2012 Database scalability – scale up to large hardware Enable Microsoft® SQL Server® 2005 performance Scale out architecture for application servers Extensive caching and reliability changes Optimistic Concurrency Control Scale UP on the application server Focus on parallelism and minimizing batch window SQL Server 2008 adoption Extensive scale work on integrations Scale work on EP Chattiness reductions Increase application efficiency Maximize usage of SQL Server 2008/2008 R2 features Core functions are parallelism enabled Run X++ in IL Data caching reengineered Service enablement of expensive ERP processes Improved Trace Parser and tracing experience © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Performance principles for Microsoft Dynamics AX 2012 Minimize TCO Asynchronous processing Optimal client/server calls Parallel processing SCALE UP on AOS Large box awareness WCF server Run X++ in IL Data handling efficiency Why hit SQL if it is in cache? Take advantage of SQL Server 2008 Data filtering through XDS

Performance tuning methodology Microsoft Dynamics® AX Technical Conference 2012 4/20/2017 Performance tuning methodology Usage profile definition Trace collection Trace analysis and findings Remediation Optional benchmark execution © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Microsoft Dynamics® AX Technical Conference 2012 4/20/2017 Benchmarks Sizing benchmark How Microsoft Dynamics AX scales Day-in-the-life benchmark 5000 concurrent users, 1 million transaction lines per hour Microsoft Hyper-V® Comparison physical to virtual hardware Enterprise portal User concurrency High-volume inventory 5 million transaction lines processed Retail Microsoft Dynamics AX 2012 R2 benchmark white paper about to be released © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Sizing benchmark Microsoft Dynamics AX 2012 R2 Total concurrent users: 400 600 800 Order 2 2ash 160 240 320 Procurement 80 120 Expense reports Timesheet Batch sales order invoicing (batch scheduled 25k SO) 4 threads 8 threads 16 threads AIF inbound (pre created 500k messages) SQL Server CPU usage 12.20% 19.30% 27.00% AOS 1 CPU usage 26.70% 46.00% 61.40% AOS 2 (for EP only) CPU usage 2.37% 6.22% 9.20% EP(IIS) Server CPU usage 42.20% 67.80% 85.00% Batch AOS CPU usage 30.20% 54.80% 77.10% All servers are 16 Cores, 16 G Box with Windows® 2008R2 SQL Server is 48 Cores, 32 G Box with SQL Server 2012 installed

Sizing benchmark Number of SO created 3534 5310 7107 Sales Order Header (s) 0.18 0.20 0.21 Sales Order Line (s) 0.42 0.47 0.48 Sales Order Pick (s) 0.80 0.87 0.93 Sales Order Pack (s) 0.94 1.02 1.34 Sales Order Invoice (s) 1.53 1.76   Number of PO created 1565 2390 3122 Purchase Order Header (s) 0.15 0.17 Purchase Order Line (s) 0.33 0.37 0.40 Purchase Order Confirmation (s) 0.72 0.77 0.82 Purchase Order Packing Slip (s) 1.43 1.58 1.98 Purchase Order ReceiptsList (s) 0.41 0.45 Purchase Order Invoice (s) 4.00 4.48 5.13 Number of Expense Report Created 736 1080 1364 Expense Scenario Total Response Time (s) 11.44 15.84 31.70 Number of TimeSheet Created 650 957 1224 TimeSheet Scenario Total Response Time (s) 14.49 20.55 39.28 Batch Invoiced SOs Throughput (per hour) 8264 13399 16650 AIF Inbound Batch Created SOs Throughput (per hour) 28890 47849 67812

Microsoft Dynamics AX 2012 performance features Microsoft Dynamics® AX Technical Conference 2012 4/20/2017 Microsoft Dynamics AX 2012 performance features Database scalability AOS Scale up/out Application Utilize SQL temp tables Included columns on indexes Full text index support Computed column support Sync support for fill factors, temp DB sort, ONLINE, compression SysGlobalObjectCache (SGOC) Compile X++ into IL Ad Hoc mode SC/sc hierarchy caching Join caching Remove auto RecVersion update Date effective caching Configurable caching limits in SysGlobalConfiguration Light Weight Session Pooling Async ledger updates MRP scheduling engine rewrite Many batch jobs parallelized - BOF IL enablement for perf critical components Many core entities (GAB, financial dimensions) using SysGlobalObjectCache Number sequence enhancements © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Performance features continued Microsoft Dynamics® AX Technical Conference 2012 4/20/2017 Performance features continued Client Enterprise portal Defer loading of reference data source Declarative Display Method caching Hide fact boxes/ preview panes Async loading of Cues Velocity as session state store Managed metadata cache Automatic Ad Hoc mode for ListPage No postback on Enum lookup © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

What’s new in Microsoft Dynamics AX 2012 R2 Microsoft Dynamics® AX Technical Conference 2012 4/20/2017 What’s new in Microsoft Dynamics AX 2012 R2 Partitioning Separate model DB Improvements in CU4 and Microsoft Dynamics AX 2012 R2 Handling of big purchase orders Faster Dimension Balance update Inventory closing Number Sequences(R2) Tables per type (SCsc tables denormalized) (R2) Customer aging, Accrued purchase and Trial balance reports Global and private address book Extensible data security improvements Tracing in CIL enabled © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Beyond Microsoft Dynamics AX 2012 R2 Microsoft Dynamics® AX Technical Conference 2012 4/20/2017 Beyond Microsoft Dynamics AX 2012 R2 Optimizations in progress: Dimension framework Dimension statement report Large set of data provider class reports Financial statement Mitigating parameter sniffing © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Tracing and trace parser Microsoft Dynamics® AX Technical Conference 2012 4/20/2017 Tracing and trace parser Tracing Using standard Windows Crimson trace Tracing Cockpit in Development Workspace Perfmon data collector xClassTrace to control tracing in X++ code Max File Size for circular logging Trace from multiple processes in one file Trace parser Overview page with top X++ and SQL Call tree view Filter/Search X++ and SQL Jump to call stack New in CU4 and R2 Enabled Tracing of MSIL Create sub trace(R2) Advanced Trace comparison Upcoming: Online version refresh © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Microsoft Dynamics® AX Technical Conference 2012 4/20/2017 Tracing / Trace parser demo © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

RPC Excessive Chattiness is usually caused by: Code running on wrong tier. Objects from other tier getting passed around thru references Display methods Pay attention to: ServerEvalFunc ServerNext ServerSetLoopDependency

Run the business logic in the right tier Logic on the client: Server static method: Problem: A server object is created on the client and all business logic like queries and more server call are executed on the client. Solution: Create a server static method with parameters to run all the business logic on the server, and all this static method from the client.

Instantiate and use the object in the correct tier Object instantiated on client is passed to the server: Pack client object and unpack on the server: Problem: A client object is instantiated and passed to a server static method (by reference). Solution: Implement the pack/unpack pattern to pass the object by value and re-instantiate the object on the server.

Avoid passing around objects from different tier The ServerSetClassLoopDependencies is an RPC that is executed every time that you store a server object as a member variable of a client object. Example 2 Example 1 Use Displaymethod caching where applicable.

Perf Patterns: SysGlobalObjectCache 4/20/2017 9:10 AM Perf Patterns: SysGlobalObjectCache Microsoft Dynamics AX 2009 Client Client Class SysGlobal Cache Session cache Session cache Microsoft Dynamics AX 2012 Client Client Class SysGlobal Cache Session cache Session cache Class SysGlobal ObjectCache Real global cache on server © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 20

SGOC sample: DimensionCache Microsoft Dynamics® AX Technical Conference 2012 4/20/2017 SGOC sample: DimensionCache public static void insertValue(DimensionCacheScope _scope, container _key, container _value) { SysGlobalObjectCache c = classfactory.globalObjectCache(); c.insert(DimensionCache::getCacheScopeStr(_scope), _key, _value); } public static container getValue(DimensionCacheScope _scope, container _key) return c.find(DimensionCache::getCacheScopeStr(_scope), _key); private static str getCacheScopeStr(DimensionCacheScope _scope) return 'DimensionCache_' + int2str(_scope); © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Before Microsoft Dynamics AX 2012 R2: SCsc Hierarchy and join caching Microsoft Dynamics® AX Technical Conference 2012 4/20/2017 Before Microsoft Dynamics AX 2012 R2: SCsc Hierarchy and join caching Inner join Outer join © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Perf Patterns: Object mode vs. Ad Hoc mode Microsoft Dynamics® AX Technical Conference 2012 4/20/2017 Perf Patterns: Object mode vs. Ad Hoc mode Object mode Inner joins parent tables all the way to the root, and outer joins all child tables to the leaf. If you only need a few fields, specify the field list to trigger Ad Hoc mode Root table will always be inner joined. Access to unselected fields will throw exception. How to use Ad Hoc mode In Select statement and query, specify field list. On modeled Query, turn Dynamic fields to No. On FormDataSource, turn OnlyFetchActive to Yes. © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Perf Pattern: InMemory vs. TempDB temp table Microsoft Dynamics® AX Technical Conference 2012 4/20/2017 Perf Pattern: InMemory vs. TempDB temp table TempDB temp table is created on SQL Server TempDB TempDB temp table can join with permanent tables efficiently Insert into TempDB temp table cause a AOS-SQL roundtrip Make sure to use insert recordset to populate. Make sure to populate TempDB from AOS, not from Client. Samples: SubledgerJournalizer::loadSubledgerJournalTmpDetail © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Perf Pattern: intermediate language 4/20/2017 9:10 AM Perf Pattern: intermediate language RPC Services AOS X++ X++ RunAs() Batch Jobs Services Pcode IL Code(DLL) Interpreter .Net Runtime SNAC DB © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 25

Microsoft Dynamics® AX Technical Conference 2012 4/20/2017 Run X++ in IL Feature details: Compile X++ into IL, full or incremental compile after X++ compilation Transparent to X++ developer Supports Batch, Service, and RunAs sessions; no Client support Business logics run faster Compiled runtime (IL) vs. interpreted runtime (X++ interpreter) What about SQL queries and kernel class invocations? Use .NET Garbage Collection Scale up on AOS (Server GC vs. Client GC) RunAs: Easiest way to utilize IL Minimal restructuring of X++ code Use runClassMethodIL or runTableMethodIL Caveat: RunAs will run in a new session Transaction scope Session cache does not Samples: DimensionDefaultingService::serverCreateLedgerDimension © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

SysOperation framework Use AOS Services to run business logic Services run in IL No way to call back to client, so no chattiness Automatic generate dialog based on data contract Choose execution mode – no need to change code! Synchronous Asynchronous Reliable async Batch Samples: SalesFormLetter Async ledger updates

New performance configurations Microsoft Dynamics® AX Technical Conference 2012 4/20/2017 New performance configurations SQL Server Admin form Included columns for index Client performance options Server configuration Declarative display method caching © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Top 10 tips from the session Know your systems workload. Microsoft Dynamics AX2012 R2 and CU4 includes performance improvements in 8 areas. Use SGOC for sharing business objects among server sessions. Use Ad Hoc mode to simplify queries and mitigate SCsc hierarchy impact. Use TempDB temp table to efficiently join with permanent tables. Use RunAs sessions to quickly turn your X++ logic into IL code. Use Business Operations Framework to transform Runbase classes, enjoy IL and Async modes. Run business logic in parallel whenever possible. Use new admin configuration settings to improve performance. Always take a trace of your code and use TraceParser to analyze perf issues.

Top 10 tuning tips Appropriate caching for every table If index is unique, mark it as unique Enable Numbersequence caching wherever possible Normalize BLOB usage Use Display method caching where appropriate. Avoid code in update/insert/delete methods thereby disabling set based processing Is OCC enabled for your customizations High performing list pages: Set fetch active only, Set firstfast, Reduce order by Ad hoc mode In Select statement and query, specify field list On modeled Query, turn Dynamic fields to No On FormDataSource, turn OnlyFetchActive to Yes Use static report design wherever applicable

Top 10 X++ code tuning tips Use set based operations insert_recordset , update_recordset and delete_from Aggregate instead of iterate Don’t loop for check if used SQL TempDB (Microsoft Dynamics AX 2012) Con2buf / buf2con (Microsoft Dynamics AX 2012) Bundle calls from client to server No join on in memory TempDB Use Parallel processing wherever possible, Parallelism top picking vs. bundling Utilize SysGlobalCache and SysGlobalObjectCache (Microsoft Dynamics AX 2012) Avoid using PESSIMISTICLOCK in your code Every call which does not need to be in a loop should moved out

Top 10 SQL tuning tips Ensure correct configuration (http://blogs.msdn.com/axperf) Find and resolve Parameter sniffing Have a clustered index on every table, overall ensure all your queries are index supported Don’t create indexes directly on SQL If index keys are a leading subset of another index, index can probably be dropped In Microsoft Dynamics AX 2012 use included columns to your advantage Evaluate compression to reduce IO footprint Use Archiving (IDMF) to keep your data small Resolve hidden scans Support sortation with correct indexing

Want more information? Visit us! Microsoft Dynamics® AX Technical Conference 2012 4/20/2017 Want more information? Visit us! Learn with hands-on experience Instructor led labs Financial Management Consolidation, eliminations & budgeting.   Managing Customer Returns Sales ordering process including managing returned items. Retail Designing till layouts and pushing changes to store terminals. Security Importing active directory users, role creations & user role assignments. Workflow Setup of workflows illustrated through an HR business process. Data Migration Migrating data into Dynamics AX 2012. Innovate your solutions Get inspired Microsoft product technologies showcase Focus rooms Solution Architecture Manufacturing Public Sector Retail Services Industries Bing Maps for Enterprise Microsoft Project Microsoft SQL Server Microsoft Dynamics AX Performance Lab Microsoft Technical Adoption Program (TAP) Email us for a timeslot at: DAXFocus@microsoft.com © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

4/20/2017 9:10 AM Next steps Key actions, resources and Convergence-related sessions/activities Access Explore Socialize Submit your session evaluation through our mobile event app or by logging into My Convergence on your PC. Review and relive session recordings and PowerPoint files inside My Convergence. The Convergence Experience Center has free technical support, Convergence theater presentations, demonstrations and the social experience, featuring the Media Wall and live social feeds. Use the #MSDynAX and #conv13 hashtags Scan this tag to get points for participating in this session. Survey Did you know that it takes just 5 minutes to help improve Microsoft Dynamics AX documentation? Take the survey at http://t.co/mvBzFNzi. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

4/20/2017 9:10 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.