Geek Sync: Performance Monitoring for SQL Server Analysis Services

31
Performance Monitoring for SQL Server Analysis Services September 2, 2015

Transcript of Geek Sync: Performance Monitoring for SQL Server Analysis Services

Page 1: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Performance Monitoring for SQL Server Analysis ServicesSeptember 2, 2015

Page 2: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Performance Metrics

ArchitectureProcessing

3

12

1

Page 3: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Architecture

Semantic Model

2

Page 4: Geek Sync: Performance Monitoring for SQL Server Analysis Services

• 3

Semantic Model 3

Page 5: Geek Sync: Performance Monitoring for SQL Server Analysis Services

• 3

Semantic Model

Tabular Model• Relational Modeling Constructs (tables, relationships)• In-Memory Analytics Engine• Higher Memory Requirements• Greater Compression• On the fly aggregation• Multiple data sources

4

Page 6: Geek Sync: Performance Monitoring for SQL Server Analysis Services

• 3

Semantic Model

Multidimensional• OLAP Model Contructs(cubes, dimensions)• Pre-aggregation• Relational Data Sources• Many to Many Relationships• Large data volumes

5

Page 7: Geek Sync: Performance Monitoring for SQL Server Analysis Services

• 3

Semantic Model

Resources• Comparing Tabular and Mutidimensional Solutions (SSAS)

https://msdn.microsoft.com/en-us/library/hh212940.aspx

•Choosing a Tabular or Multidimensional Modeling Experience in SQL Server 2012

Analysis Services

https://msdn.microsoft.com/en-us/library/hh994774.aspx

6

Page 8: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Architecture

Processing

7

Page 9: Geek Sync: Performance Monitoring for SQL Server Analysis Services

• 3

Processing

Data Refresh• SSMS or Scripted (XMLA)• Cube processing is memory intensive• Disk I/O • Changes to cube can have big impact on processing• Tabular processing primarily refreshes data

8

Page 10: Geek Sync: Performance Monitoring for SQL Server Analysis Services

• 3

Processing

DAX Query Processing

9

Single Threaded

Multi-threaded

Page 11: Geek Sync: Performance Monitoring for SQL Server Analysis Services

• 3

Processing

MDX Query Processing

10

Page 12: Geek Sync: Performance Monitoring for SQL Server Analysis Services

• 3

Processing

Query Processing

11

• Formula Engine Cache• Flat cache• Calculated Cache

• Storage Engine• Dimension (cube)• Measure Group (cube)• Vertipaq (tabular)

Page 13: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Architecture

Performance Metrics

12

Page 14: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Performance Metrics

Sources

13

• Dynamic Management Views• https://msdn.microsoft.com/en-us/library/hh230820.aspx

• Performance Counters• https://msdn.microsoft.com/en-us/library/Hh230807.aspx

• PS C:> (Get-Counter -ListSet "MSOLAP*").paths

Page 15: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Performance Metrics

Categories

14

• Network• Disk I/O• Memory• CPU• MDX/DAX

Page 16: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Performance Metrics

Network

15

• Network Interface: Bytes Received/sec

• Network Interface: Bytes Sent/sec

• Network Interface: Output Queue Length

Page 17: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Performance Metrics

Network

16

• Processing: Rows read/sec

• Storage Engine Query: Rows sent/sec

Page 18: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Performance Metrics

Disk I/O

17

• Storage Engine Query: Queries from file/sec

• Storage Engine Query: Data bytes/sec

• Physical Disk: Disk Read Bytes/sec

• Cache: Copy Reads/sec

Page 19: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Performance Metrics

Disk I/O

18

• Physical Disk: Avg. Disk sec/Read

• Physical Disk: Avg. Disk sec/Write

Page 20: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Performance Metrics

Memory

19

• Overall Memory used by SSAS

• SSAS Memory Efficiency

• SSAS Memory Activity

Page 21: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Performance Metrics

Memory Usage

20

• Memory: Cleaner Memory KB

• Memory: Cleaner Memory shrinkable KB

• Memory: Cleaner Memory nonshrinkable KB

Page 22: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Performance Metrics

Memory Usage

21

• Memory: Memory Limit Low KB

• Memory: Memory Limit High KB

Page 23: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Performance Metrics

Memory Efficiency

22

• Calculation cache lookups/sec, hits/sec

• Flat cache lookups/sec, hits/sec

• Dimension cache lookups/sec, hits/sec

• Measure group cache lookups/sec, hits/sec

Page 24: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Performance Metrics

Memory Cache Improvements

23

• Configure memory limits appropriately

• Warm the cache

Page 25: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Performance Metrics

CPU

24

• Processor: % Processor

• System: Context Switches/sec

• System: Processor Queue Length

Page 26: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Performance Metrics

CPU

25

• Threads: Query pool (FE)

• Threads: Processing pool (SE)

Relief:• MaxThreads• CoordinatorExecutionMode

Page 27: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Performance Metrics

Query Processing

26

• MDX: Total cells calculated

• MDX: Number of calculation covers

• MDX: Total Sonar subcubes

“Cell by cell” vs. “block oriented”

vs

Page 28: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Performance Metrics

Query Processing

27

• MDX: Total recomputes

• MDX: Total NON EMPTY unoptimized

• MDX: Total NON EMPTY for calculated members

Page 29: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Performance Metrics

Query Optimization

28

• Proper Aggregations

• Improves query performance

• Use Non-Empty option on MDX queries where possible

• Effective partition strategy

• Improves Storage Engine Performance

Page 30: Geek Sync: Performance Monitoring for SQL Server Analysis Services

Performance Metrics

Cube Processing

28

• Processing: Rows written/sec

• Proc Aggregations: Rows created/sec

• Proc Indexes: Rows/sec

Track over time to determine effectiveness or impact of changes to the cube structure.