retail service industries supply chain management global financial management foundation life cycle...

24
Microsoft Dynamics AX Technical Conference February 3–5, 2014 Bellevue, WA

Upload: blaise-buchanan

Post on 14-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

Microsoft Dynamics AX Technical ConferenceFebruary 3–5, 2014Bellevue, WA

BRK404 – Optimizing the Performance of your Dynamics AX DeploymentSreenivas Simhadri – Engineering ManagerGana Sadasivam – Engineering LeadChristian Wolf – Solutions Architect

IntroductionWe are excited to share Microsoft Dynamics AX 2012 R3 with you…• This presentation contains Microsoft confidential information• Dynamics AX 2012 R3 is pre-release software and subject to change• Microsoft provides no license, express or implied, in this presentation• Please review and respect the disclaimer included in all printed

and electronically distributed materials

AgendaNew performance features in R2 and R3How to prevent performance problemsCase study of a recent load test

How to troubleshoot performance problemsEnd to end tuning explained on a real sampleCode optimization patterns explained based on reports

Improvements

Performance Improvements in R2 and R3• Retail• Service industries• Supply Chain

Management

• Global Financial Management

• Foundation• Life Cycle Services

• Parameter sniffing • Reports

Performance features in R3

What is parameter sniffing?Why not trace flag 4136?What is the alternative• Query tuning• Plan guide• ForceLiterals

Any save alternative on global level?• From Microsoft Dynamics AX 2012 R2 CU6 onwards• UPDATE SYSGLOBALCONFIGURATION SET [VALUE] = 1 WHERE NAME IN

( 'DATAAREAIDLITERAL', 'PARTITIONLITERAL')• Restart AOS

Parameter sniffing

Sample query with setting offSELECT TOP 1 T1.SALESID,.......,T1.RECIDFROM SALESTABLE T1WHERE (((PARTITION=?)      AND (DATAAREAID=?))      AND (SALESID=?))

Sample with setting onSELECT TOP 1 T1.SALESID,.......,T1.RECIDFROM SALESTABLE T1WHERE (((PARTITION=5637144576)      AND (DATAAREAID=N'ceu'))      AND (SALESID=?))

Parameter sniffing

Reports Development – Things to look for

Reports Performance

Case Frequency Freshness Concurrence Contention expectation Solution

1 Transactional, simple Real time High High No high Query

2 Transactional, process Real time High High process High RDP

3 Transactional, high volume Real time High High Process, input very high Query, RDP, Static RDCE,

4 Fixed period, kpi < daily given High No high Cube,

5 long running report As needed low Low process Low PreRDP

6 mixed long running Random High Medium High Mixed split PreRDP/RDP

Reports Development – Things to avoid• Don’t use fetch method to process line by line in RDP• Don’t use RDP unless Query based report can’t do to work• Don’t assume pre-processed RDP is faster for concurrent user reports

• Microsoft Dynamics AX Performance Blog• Improving SSRS Report Performance with Set-Based Operations - part 1

• Improving SSRS Report Performance by Applying Filters/Ranges Earlier - Part 2

• Improving SSRS Query-based Report Performance by not Using Display Methods - Part 3

• Improving SSRS Report Performance with Hybrid of Line-based and Set-based Processing – Part 4

• Improving SSRS Report Performance at Line level – Part 5

• Improve Check Report Performance by Reducing the Size of Company Logo and Signature Image Files

Reports Performance

Content from : Improving SSRS Report Performance with Set-Based Operations - part 1

Reports Performance

• New in R3

Reports Performance

Prevention

Steps throughout the implementation live cycle

Analysis Design Deployment

Development

Operation

Scenarios

Recent POC based on usage profile

Scenario DescriptionPost Trade agreements to stores Send trade agreements to retail stores for 30,000

products 

Assortment publishing to stores Publish product assortments for 30,000 products including converting pre-actions to action 

Trickle feed from the stores Trickle feed all transactions from the storesInventory reservation and statement calculation First part of the end of day processing

Statement posting Second part of the end of day processing

Goals• Number of POS stores: 1300• Number of tills per store: 5• Number of transactions per POSper day: 240 with 1, 5 and 15 lines• Number of Products: 30,000• Data generated for the test: 6 months• All scenarios need to complete within a 10 hour time frame• Workload of the trickle feed and EOD scenario increased 2 times by 25 %.

Hardware

Recent POC based on usage profileRole Specifdication Qty CommentsAX DB Server 64 cores, 1 Tb RAM, 2x300 GB HDD

2 x 12 Disks RAID 10 for DataFusion IO for TempDB and Log file

1 HP 980 G7, 128 HT cores 

HQ CDX Server 24 core, 48 GB RAM, 500 GB HDD 1 Virtual machines

Store CDX Servers 2 core, 4 Gb RAM, 100 Gb HDD, 128 kbps 25 Virtual machines

Store CDX Server 24 core, 48 GB RAM, 500 Gb HDD 1 HP BL 460c G7, 24 HT, 96 GB

AX AOS (physical) 2 x HP BL 460c G7, 24 HT, 96 GB 1 HP BL 460c G7, 24 HTR, 96 GB

AX AOS (virtual) 8 cores, 16 GB RAM, 100 GB HDD 19 Virtual machines

Developer workstation 8 cores, 8 Gb RAM, 300 GB HDD 1 Virtual machine

Management workstation

8 cores, 8 Gb RAM, 300 GB HDD 1 Virtual machine

Results

Recent POC based on usage profileProcess DurationPost Trade agreements andAssortment publishing plus updating the stores

~35 min

Base workload  Trickle feed 56 minInventory reservation and statement calculation 1h 55 minStatement posting 3h 12 minTotal 6 h 3 min25 % +  Trickle feed 51 minInventory reservation and statement calculation 2h 14 minStatement posting 3h 50 minTotal 6h 55 min2 x 25 % +  Trickle feed 1 hour 15 minInventory reservation and statement calculation 2 hours 28 minStatement posting 5 hours 2 minTotal 8 hours 45 min

Troubleshooting

Core Tuning principles

Find where you loose the most time there spent the most time to optimize

Few or many calls

20 / 80 Running or waiting

80 / 10 /10

Demo

Christian Wolf

THANK YOU for attending! Your feedback is extremely important, please complete an evaluation using one of the following options:

• On the fly from the mobile event app• Communications Kiosks located in the Evergreen Foyer, Grand

Ballroom Foyer and Regency Foyer

• Via the Dynamics AX Technical Conference website: www.microsoft.com/dynamics/axtechconference

DisclaimerThis presentation contains Microsoft Confidential Information. Microsoft may use any suggestions, comments, or other feedback that you provide for any purpose without obligation. This presentation is provided for informational and training purposes only. It represents Microsoft’s view as of the presentation date. Microsoft cannot guarantee the accuracy of any information after the presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted as a commitment on Microsoft’s part. This presentation is provided “as-is”.

Microsoft Dynamics AX 2012 R3 is pre-release software under development. All dates, features, and descriptions specified are preliminary, are based on current expectations, and are subject to change at any time without notice.

Sample code included in this presentation is made available AS IS.  THE ENTIRE RISK OF THE USE OR THE RESULTS FROM THE USE OF ANY SAMPLE CODE REMAINS WITH THE USER.

MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. NO LICENSE (EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE) TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS PRESENTATION.

© 2014 Microsoft Corporation. All rights reserved.

© 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.