SlideShare a Scribd company logo
1 of 42
Extreme SSAS – Part II Itay Braun | CTO | Twingo
Methodology Monitoring Enhancing Queries Performance Enhancing Processing   Performance
Take Aways There are many white papers about the subject, tools and reports. 20-80 law. In this session I’ll focus on the easy-to-implement solutions. Solving 80% of your problems in 20% of the time. In my blog you can find links to all the relevant info.
Performance Enhancement - Methodology Monitor the server Performance Counters Dynamic Management Views Profiler Trace Files Execution Log Analyze Bottlenecks Formula Engine vs. Storage Engine CPU IO Memory Improve Queries Response Time Minimize Processing Time Frame
Methodology Monitoring Enhancing Queries Performance Enhancing Processing   Performance
Formula Engine vs. Storage Engine Storage Engine Formula Engine Do I need more memory, better storage or more CPU?
Performance Counters Quick Performance Overview Use SCOM, SQL Server Data Collectors, free built in PerfMon or 3rd party tools Full list of recommended counters can be found in my blog
Dynamic Management Views More detailed analysis Schema related views and current status related views Use SSIS package to save DMV results to tables for further analysis
Demo
Demo - DMV Using Dynamic Management Views
Execution Log Built-in table used for General Statistics Usage Based Aggregation Design  Sample reports can be found in my blog
Demo
Demo – OLAPQueryLog Configuring OlapQueryLog Analyze the data in the table using reports
Profiler Used for deep and thorough performance analysis Use carefully, the trace might affect performance More information at the White Paper: Analyzing MDX Performance Bottlenecks
Demo
Demo - Profiler Monitoring Queries on cold vs. warm cache.
MDX Studio Used to deeply analyze MDX Queries. Compares behavior on cold vs. warm cache. Shows used partitions
Methodology Monitoring Enhancing Queries Performance Enhancing Processing   Performance
Cache Warmer Another simple no-brainer solution Monitor the top queries using Profiler Run the top queries using SSIS Or, use CREATE CACHE command
How Analysis Services answers queries MDX Query In Cellset Out Formula Engine works out what data is needed for each query, and requests it from the Storage Engine Cache Query Subcube Requests Storage Engine handles retrieval of raw data from disk, and any aggregation required Cache Disk
Warming the SE cache Considerations for warming the SE cache: We want to avoid cache fragmentation, for example having one unfiltered subcube cached rather than multiple filtered subcubes It is possible to overfill the cache – the SE will stop looking in the cache after it has searched 1000 subcubes We want to cache lower rather than higher granularities, since the latter can be aggregated from the former in memory We need a way of working out which granularities are useful
Warming the SE cache We can warm the SE cache by using either: WITH CACHE, to warm the cache for a single query – not very useful The CREATE CACHE command Remember that building aggregations is often a better alternative to warming the SE cache But in some cases you can’t build aggregations – for example when there are many-to-many relationships
CREATE CACHE Example CREATE CACHE statement:CREATE CACHE FOR [Adventure Works] AS'({[Measures].[Internet Sales Amount]},{[Date].[Date].[Date].MEMBERS},{[Product].[Category].[Category].MEMBERS})'
Which subcubes should I cache? The Query Subcube and Query Subcube Verbose events in Profiler show the subcubes requested from the SE by the FE This is also the information stored in the SSAS query log, stored in SQL Server
Warming the FE cache  First, tune your calculations!  The only way to warm the FE cache is to run MDX queries containing calculations Remember, these queries must not: Include a WITH clause Subselects Also, no point trying to cache calculations whose values cannot be cached And think about how security can impact cache usage
Demo
Demo - Cache Warmer Using Create Cache Command
Common Cube Design Mistakes The number of cubes and dimensions Dimensions with few attributes and no hierarchies Wide cubes (“gray” Dimension Usage) Attribute Relationships Should be aligned with the hierarchies
Common Cube Design Mistakes Poor aggregation design  Aggregation Usage Wizard Bad partition design  White paper: Distinct Count Optimization Partition size between 2M and 20M records
Demo
Demo – Cube Design AMO Warnings Attribute Relationships About Aggregations Usage Based Wizard
Common Cube Design Mistakes Poor aggregation design  Aggregation Usage Wizard Sub optimal MDX  Bad partition design  White paper: Distinct Count Optimization Partition size between 2M and 20M records
Methodology Monitoring Enhancing Queries Performance Enhancing Processing   Performance
Enhancing Source Query Analyze the time needed to bring the data vs. building the partitions and aggregations Analyze the Execution Plan
Processing Methods
Processing Methods Analysis Services Processing Best Practices  Measures Groups and Partitions vs. Dimensions Large dimensions can not be partitioned Dimension:  Full  Process Update Process Add Flexible vs. Rigid Aggs.
Processing Methods Cube Processing: Full vs. Data + Index
Processing Log Analysis How much time does it take to: Process each dimension Process each partition Process the aggregation of each partition Use SSIS to process the cube. Use SQL Log provider to save the Process Log. Sample Reports in my blog
Demo
Demo – Processing Log Processing Log Analysis
Call For Action Read the performance guides and white papers Monitor the SSAS server Implement the quick no-brainer solutions Call an expert to solve the big                     problems
Monitor the SSAS Server to identify performance Bottlenecks Partitioning is the key to fast processing Improving the queries is more     complicated.

More Related Content

Similar to Extreme SSAS - Part II

Best Practices for Building Robust Data Platform with Apache Spark and Delta
Best Practices for Building Robust Data Platform with Apache Spark and DeltaBest Practices for Building Robust Data Platform with Apache Spark and Delta
Best Practices for Building Robust Data Platform with Apache Spark and DeltaDatabricks
 
Crunch Your Data in the Cloud with Elastic Map Reduce - Amazon EMR Hadoop
Crunch Your Data in the Cloud with Elastic Map Reduce - Amazon EMR HadoopCrunch Your Data in the Cloud with Elastic Map Reduce - Amazon EMR Hadoop
Crunch Your Data in the Cloud with Elastic Map Reduce - Amazon EMR HadoopAdrian Cockcroft
 
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Black Friday and Cyber Monday- Best Practices for Your E-Commerce DatabaseBlack Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Black Friday and Cyber Monday- Best Practices for Your E-Commerce DatabaseTim Vaillancourt
 
Architetture Serverless con SQL Server e Azure Functions
Architetture Serverless con SQL Server e Azure FunctionsArchitetture Serverless con SQL Server e Azure Functions
Architetture Serverless con SQL Server e Azure FunctionsMassimo Bonanni
 
Analysis Services Best Practices From Large Deployments
Analysis Services   Best Practices From Large DeploymentsAnalysis Services   Best Practices From Large Deployments
Analysis Services Best Practices From Large Deploymentsrsnarayanan
 
05_DP_300T00A_Optimize.pptx
05_DP_300T00A_Optimize.pptx05_DP_300T00A_Optimize.pptx
05_DP_300T00A_Optimize.pptxKareemBullard1
 
KWizCom Enterprise Aggregation Caching Feature - product overview
KWizCom Enterprise Aggregation Caching Feature - product overviewKWizCom Enterprise Aggregation Caching Feature - product overview
KWizCom Enterprise Aggregation Caching Feature - product overviewNimrod Geva
 
Tips tricks to speed nw bi 2009
Tips tricks to speed  nw bi  2009Tips tricks to speed  nw bi  2009
Tips tricks to speed nw bi 2009HawaDia
 
AWS re:Invent re:Cap - 비용 최적화 - 모범사례와 아키텍처 설계 심화편 - 이원일
AWS re:Invent re:Cap - 비용 최적화 - 모범사례와 아키텍처 설계 심화편 - 이원일AWS re:Invent re:Cap - 비용 최적화 - 모범사례와 아키텍처 설계 심화편 - 이원일
AWS re:Invent re:Cap - 비용 최적화 - 모범사례와 아키텍처 설계 심화편 - 이원일Amazon Web Services Korea
 
High performance coding practices code project
High performance coding practices code projectHigh performance coding practices code project
High performance coding practices code projectPruthvi B Patil
 
How analysis services caching works
How analysis services caching worksHow analysis services caching works
How analysis services caching worksYoung Alista
 
How analysis services caching works
How analysis services caching worksHow analysis services caching works
How analysis services caching worksTony Nguyen
 
How analysis services caching works
How analysis services caching worksHow analysis services caching works
How analysis services caching worksFraboni Ec
 
How analysis services caching works
How analysis services caching worksHow analysis services caching works
How analysis services caching worksLuis Goldster
 
How analysis services caching works
How analysis services caching worksHow analysis services caching works
How analysis services caching worksHoang Nguyen
 
How analysis services caching works
How analysis services caching worksHow analysis services caching works
How analysis services caching worksHarry Potter
 
How analysis services caching works
How analysis services caching worksHow analysis services caching works
How analysis services caching worksJames Wong
 

Similar to Extreme SSAS - Part II (20)

Best Practices for Building Robust Data Platform with Apache Spark and Delta
Best Practices for Building Robust Data Platform with Apache Spark and DeltaBest Practices for Building Robust Data Platform with Apache Spark and Delta
Best Practices for Building Robust Data Platform with Apache Spark and Delta
 
Crunch Your Data in the Cloud with Elastic Map Reduce - Amazon EMR Hadoop
Crunch Your Data in the Cloud with Elastic Map Reduce - Amazon EMR HadoopCrunch Your Data in the Cloud with Elastic Map Reduce - Amazon EMR Hadoop
Crunch Your Data in the Cloud with Elastic Map Reduce - Amazon EMR Hadoop
 
Performance tuning in sql server
Performance tuning in sql serverPerformance tuning in sql server
Performance tuning in sql server
 
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Black Friday and Cyber Monday- Best Practices for Your E-Commerce DatabaseBlack Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
 
Architetture Serverless con SQL Server e Azure Functions
Architetture Serverless con SQL Server e Azure FunctionsArchitetture Serverless con SQL Server e Azure Functions
Architetture Serverless con SQL Server e Azure Functions
 
Analysis Services Best Practices From Large Deployments
Analysis Services   Best Practices From Large DeploymentsAnalysis Services   Best Practices From Large Deployments
Analysis Services Best Practices From Large Deployments
 
05_DP_300T00A_Optimize.pptx
05_DP_300T00A_Optimize.pptx05_DP_300T00A_Optimize.pptx
05_DP_300T00A_Optimize.pptx
 
KWizCom Enterprise Aggregation Caching Feature - product overview
KWizCom Enterprise Aggregation Caching Feature - product overviewKWizCom Enterprise Aggregation Caching Feature - product overview
KWizCom Enterprise Aggregation Caching Feature - product overview
 
Tips tricks to speed nw bi 2009
Tips tricks to speed  nw bi  2009Tips tricks to speed  nw bi  2009
Tips tricks to speed nw bi 2009
 
Amazon Redshift Masterclass
Amazon Redshift MasterclassAmazon Redshift Masterclass
Amazon Redshift Masterclass
 
AWS re:Invent re:Cap - 비용 최적화 - 모범사례와 아키텍처 설계 심화편 - 이원일
AWS re:Invent re:Cap - 비용 최적화 - 모범사례와 아키텍처 설계 심화편 - 이원일AWS re:Invent re:Cap - 비용 최적화 - 모범사례와 아키텍처 설계 심화편 - 이원일
AWS re:Invent re:Cap - 비용 최적화 - 모범사례와 아키텍처 설계 심화편 - 이원일
 
High performance coding practices code project
High performance coding practices code projectHigh performance coding practices code project
High performance coding practices code project
 
Magento e commerce performance optimization
Magento e commerce performance optimizationMagento e commerce performance optimization
Magento e commerce performance optimization
 
How analysis services caching works
How analysis services caching worksHow analysis services caching works
How analysis services caching works
 
How analysis services caching works
How analysis services caching worksHow analysis services caching works
How analysis services caching works
 
How analysis services caching works
How analysis services caching worksHow analysis services caching works
How analysis services caching works
 
How analysis services caching works
How analysis services caching worksHow analysis services caching works
How analysis services caching works
 
How analysis services caching works
How analysis services caching worksHow analysis services caching works
How analysis services caching works
 
How analysis services caching works
How analysis services caching worksHow analysis services caching works
How analysis services caching works
 
How analysis services caching works
How analysis services caching worksHow analysis services caching works
How analysis services caching works
 

Recently uploaded

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Recently uploaded (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

Extreme SSAS - Part II

  • 1. Extreme SSAS – Part II Itay Braun | CTO | Twingo
  • 2. Methodology Monitoring Enhancing Queries Performance Enhancing Processing Performance
  • 3. Take Aways There are many white papers about the subject, tools and reports. 20-80 law. In this session I’ll focus on the easy-to-implement solutions. Solving 80% of your problems in 20% of the time. In my blog you can find links to all the relevant info.
  • 4. Performance Enhancement - Methodology Monitor the server Performance Counters Dynamic Management Views Profiler Trace Files Execution Log Analyze Bottlenecks Formula Engine vs. Storage Engine CPU IO Memory Improve Queries Response Time Minimize Processing Time Frame
  • 5. Methodology Monitoring Enhancing Queries Performance Enhancing Processing Performance
  • 6. Formula Engine vs. Storage Engine Storage Engine Formula Engine Do I need more memory, better storage or more CPU?
  • 7. Performance Counters Quick Performance Overview Use SCOM, SQL Server Data Collectors, free built in PerfMon or 3rd party tools Full list of recommended counters can be found in my blog
  • 8. Dynamic Management Views More detailed analysis Schema related views and current status related views Use SSIS package to save DMV results to tables for further analysis
  • 10. Demo - DMV Using Dynamic Management Views
  • 11. Execution Log Built-in table used for General Statistics Usage Based Aggregation Design Sample reports can be found in my blog
  • 12. Demo
  • 13. Demo – OLAPQueryLog Configuring OlapQueryLog Analyze the data in the table using reports
  • 14. Profiler Used for deep and thorough performance analysis Use carefully, the trace might affect performance More information at the White Paper: Analyzing MDX Performance Bottlenecks
  • 15. Demo
  • 16. Demo - Profiler Monitoring Queries on cold vs. warm cache.
  • 17. MDX Studio Used to deeply analyze MDX Queries. Compares behavior on cold vs. warm cache. Shows used partitions
  • 18. Methodology Monitoring Enhancing Queries Performance Enhancing Processing Performance
  • 19. Cache Warmer Another simple no-brainer solution Monitor the top queries using Profiler Run the top queries using SSIS Or, use CREATE CACHE command
  • 20. How Analysis Services answers queries MDX Query In Cellset Out Formula Engine works out what data is needed for each query, and requests it from the Storage Engine Cache Query Subcube Requests Storage Engine handles retrieval of raw data from disk, and any aggregation required Cache Disk
  • 21. Warming the SE cache Considerations for warming the SE cache: We want to avoid cache fragmentation, for example having one unfiltered subcube cached rather than multiple filtered subcubes It is possible to overfill the cache – the SE will stop looking in the cache after it has searched 1000 subcubes We want to cache lower rather than higher granularities, since the latter can be aggregated from the former in memory We need a way of working out which granularities are useful
  • 22. Warming the SE cache We can warm the SE cache by using either: WITH CACHE, to warm the cache for a single query – not very useful The CREATE CACHE command Remember that building aggregations is often a better alternative to warming the SE cache But in some cases you can’t build aggregations – for example when there are many-to-many relationships
  • 23. CREATE CACHE Example CREATE CACHE statement:CREATE CACHE FOR [Adventure Works] AS'({[Measures].[Internet Sales Amount]},{[Date].[Date].[Date].MEMBERS},{[Product].[Category].[Category].MEMBERS})'
  • 24. Which subcubes should I cache? The Query Subcube and Query Subcube Verbose events in Profiler show the subcubes requested from the SE by the FE This is also the information stored in the SSAS query log, stored in SQL Server
  • 25. Warming the FE cache First, tune your calculations! The only way to warm the FE cache is to run MDX queries containing calculations Remember, these queries must not: Include a WITH clause Subselects Also, no point trying to cache calculations whose values cannot be cached And think about how security can impact cache usage
  • 26. Demo
  • 27. Demo - Cache Warmer Using Create Cache Command
  • 28. Common Cube Design Mistakes The number of cubes and dimensions Dimensions with few attributes and no hierarchies Wide cubes (“gray” Dimension Usage) Attribute Relationships Should be aligned with the hierarchies
  • 29. Common Cube Design Mistakes Poor aggregation design Aggregation Usage Wizard Bad partition design White paper: Distinct Count Optimization Partition size between 2M and 20M records
  • 30. Demo
  • 31. Demo – Cube Design AMO Warnings Attribute Relationships About Aggregations Usage Based Wizard
  • 32. Common Cube Design Mistakes Poor aggregation design Aggregation Usage Wizard Sub optimal MDX Bad partition design White paper: Distinct Count Optimization Partition size between 2M and 20M records
  • 33. Methodology Monitoring Enhancing Queries Performance Enhancing Processing Performance
  • 34. Enhancing Source Query Analyze the time needed to bring the data vs. building the partitions and aggregations Analyze the Execution Plan
  • 36. Processing Methods Analysis Services Processing Best Practices Measures Groups and Partitions vs. Dimensions Large dimensions can not be partitioned Dimension: Full Process Update Process Add Flexible vs. Rigid Aggs.
  • 37. Processing Methods Cube Processing: Full vs. Data + Index
  • 38. Processing Log Analysis How much time does it take to: Process each dimension Process each partition Process the aggregation of each partition Use SSIS to process the cube. Use SQL Log provider to save the Process Log. Sample Reports in my blog
  • 39. Demo
  • 40. Demo – Processing Log Processing Log Analysis
  • 41. Call For Action Read the performance guides and white papers Monitor the SSAS server Implement the quick no-brainer solutions Call an expert to solve the big problems
  • 42. Monitor the SSAS Server to identify performance Bottlenecks Partitioning is the key to fast processing Improving the queries is more complicated.

Editor's Notes

  1. This Section : 00:02; From Start 00:02
  2. 00:03; From Start 00:05
  3. DMV – Inserting DMV to Tables
  4. Demo – Execution Log Reports; ProfilerMDX Studio
  5. Demo – Execution Log Reports; ProfilerMDX Studio
  6. Create Cache
  7. Attribute Relationships
  8. Attribute RelationshipsAggregation Design
  9. Attribute RelationshipsAggregation Design
  10. Query Execution PlanProcessing LogThe Impact of Aggregations.