Performance Optimization for Microsoft Dynamics CRM

21
Connect Learn Share Performance Optimization for Microsoft Dynamics CRM Presented by: Walter Grow Austin Jones

description

Performance Optimization for Microsoft Dynamics CRM. Presented by: Walter Grow Austin Jones . Meet your Speakers…. Microsoft Premier Field Engineer (3yrs) Developer Support Workshops Code Reviews Code Samples/Tools Partner Consultant (7yrs). Microsoft Premier Field Engineer (5yrs) - PowerPoint PPT Presentation

Transcript of Performance Optimization for Microsoft Dynamics CRM

Page 1: Performance Optimization for Microsoft Dynamics CRM

Conn

ect

Lear

n

Shar

e Performance Optimization for Microsoft Dynamics CRM

Presented by: Walter Grow Austin Jones

Page 2: Performance Optimization for Microsoft Dynamics CRM

@CRMUG

Meet your Speakers…

Microsoft Premier Field Engineer (5yrs)

• Developer Support• Workshops• Code Reviews

Partner Consultant (4yrs) Microsoft Support Engineer (2yrs)

Microsoft Premier Field Engineer (3yrs)

• Developer Support• Workshops• Code Reviews• Code Samples/Tools

Partner Consultant (7yrs)

PFE PFE

Page 3: Performance Optimization for Microsoft Dynamics CRM

@CRMUG

AgendaClient

App

Data

PFE

Page 4: Performance Optimization for Microsoft Dynamics CRM

@CRMUG

• Support Microsoft’s Premier customers & partners• Remote & on-site | Proactive & reactive• Transactional or dedicated/designated• Aligned to customer/partner desired outcomes• Services

• RaaS: Health assessment & remediation planning• Performance investigation & benchmarking• Workshops: Admin, Reporting, & Development• Code reviews & samples

Page 5: Performance Optimization for Microsoft Dynamics CRM

@CRMUG

Client

App

Data

Page 6: Performance Optimization for Microsoft Dynamics CRM

@CRMUG

Measuring SQL PerformanceWhat do we look for?• Disk I/O

• >15ms• >25ms

• Page life expectancy • Long-running queries• Excessive blocking• Deadlock events

What tools do we use?• Perfmon• SQL Server Trace• SQL Profiler• SQL DMV’s• Performance Analyzer

for Dynamics

Page 7: Performance Optimization for Microsoft Dynamics CRM

@CRMUG

SQL Server Optimization• Partition Alignment• Multiple disks• File segregation• SSD

• Max server memory• MaxDOP• Autogrowth• RCSI*

Page 8: Performance Optimization for Microsoft Dynamics CRM

@CRMUG

Database Optimization• Update Statistics• Index Maintenance• Reschedule CRM

Maintenance Jobs

• ROW/PAGE Compression

• Sparse Columns• Query tuning

More details:http://aka.ms/CRMMaintenanceJobs

http://aka.ms/CRMRescheduleMaintenanceJobshttp://crmjobeditor.codeplex.com

Page 9: Performance Optimization for Microsoft Dynamics CRM

@CRMUG

Client

App

Data

Page 10: Performance Optimization for Microsoft Dynamics CRM

@CRMUG

Measuring App PerformanceWhat do we look for?• High CPU utilization• Poor memory

allocation• HTTP request volume • HTTP request duration

What tools do we use?• Perfmon• IIS Log Analysis• PAL• WinDbg

Page 11: Performance Optimization for Microsoft Dynamics CRM

@CRMUG

More details:http://aka.ms/CRMDecrease401Responses

Server Optimization• Update Rollups• Distributing server

roles• Network load balancing• Disable CRM tracing

and debugging• AppPool recycling

schedule

• Enable authPersistNonNTLM*

• ASP.NET ThreadPool Tuning

• .NET HTTP MaxConnections

Page 12: Performance Optimization for Microsoft Dynamics CRM

@CRMUG

CRM Settings Optimization• Adjust audit settings• Disable smart

matching• Email tagging• Throttle client sync

• Mail router polling • Async service

workload• ERMO

(EnableRetrieveMultipleOptimization) and Quick Find Pre vs. Post CRM 2011 UR10 More details:

http://aka.ms/CRMQuickFindPerformance

Page 13: Performance Optimization for Microsoft Dynamics CRM

@CRMUG

CRM Code Optimization• Sync vs. async • Filter workflow/plugin

execution• Avoid plug-in class

members• Don’t retrieve or

update event target

• Don’t retrieve for update

• IServiceManagement<T>

• Avoid AllColumns = true

• Parallelize high-volume operations

More details:CRM Programming Best-Practices

http://aka.ms/CRMParallelProgramminghttps://pfexrmcore.codeplex.com/

Page 14: Performance Optimization for Microsoft Dynamics CRM

@CRMUG

CRM Report Optimization• FetchXML vs. FilteredViews• UTC DateTime columns• Let SQL aggregate & group• Pre-filter queries• Consider snapshots• ‘AlwaysOn’ Reporting

More details:http://aka.ms/CRMImproveReportPerformance

Page 15: Performance Optimization for Microsoft Dynamics CRM

@CRMUG

Client

App

Data

Page 16: Performance Optimization for Microsoft Dynamics CRM

@CRMUG

Measuring Client PerformanceWhat do we look for?• Network latency (<150ms)• Network bandwidth

(>50kbps)• <1s page loads (warm)• Script execution• XMLHttpRequests

What tools do we use?• F12 Developer Tools• Fiddler• Ctrl+Shift+Q• Client Diagnostics Page

More details:http://aka.ms/CRMDiagnosticsPage

Page 17: Performance Optimization for Microsoft Dynamics CRM

@CRMUG

Tools…

Page 18: Performance Optimization for Microsoft Dynamics CRM

@CRMUG

Client Optimization• Update Rollups • Enable SSL + HTTP

Compressionapplication/soap+xml charset=utf-8application/json charset=utf-8

• Disable HTC support• User Settings

• Browser version• Browser caching

(~300mb)• Antivirus exclusions• Max server

connections (IE7/8)More details:

http://aka.ms/CRMEnableWCFCompressionhttp://aka.ms/CRMOLPerformanceTipsP1http://aka.ms/CRMOLPerformanceTipsP2

http://aka.ms/CRMBrowserStandardsMode

Page 19: Performance Optimization for Microsoft Dynamics CRM

@CRMUG

UX Optimization• Security model• Access Teams (2013)• Field-level Security• Disable auto-complete• Disable presence• Limit Quick Find

results

• Form fields and view columns

• Quick Find columns• Collapsed tab state• Limit Sub-grids• Minimize publishing• Defer script execution• Async XMLHttpRequests

Page 21: Performance Optimization for Microsoft Dynamics CRM

@CRMUG

How to find us…

[email protected] @maustinjones

[email protected] [email protected]

@pfedynamics @waltergrow

http://blogs.msdn.com/b/CRMintheField/

http://www.pfedynamics.com