SlideShare a Scribd company logo
1 of 23
SQL Server Analysis Services
Reference Architecture
Customer Challenges
Goal of this whitepaper
Hardware configuration
Test Execution
Results
TODAY’S AGENDA
TEAM
Thomas
Kejser
CTO EMEA at Fusion-
io
Alexei
Khalyako
SQL CAT Program
Manager at Microsoft
Marcel Franke
Practice Lead at pmOne
Gerhard Brückl
Practice Lead at pmOne
SSAS Maestro
Hannes Mayer
Practice Lead at pmOne
SSAS Maestro
Build scalable solutions on user demand
Choose of an OLAP optimized hardware configuration
Align SSAS configuration to hardware settings
CUSTOMER CHALLENGES
Reduce Risk
Reduce Cost
Accelerate Performance
Prove Scalability
GOAL OF THIS WHITEPAPER
Hardware Configuration
What makes a good hardware for SQL Server Analysis Services
CPU
More cores  more parallelism for Storage Engine bound queries
High clock rate  faster Formula Engine bound queries
I/O
SSAS uses random reads
 No spinning disks - use Fusion-IO drives instead
 Use local disks to avoid unnecessary fiber channel/iSCSI cost
Memory
More memory  more data can be loaded into memory
In ideal case: entire cube could be loaded into memory
GENERAL HARDWARE RECOMMENDATIONS
Server: HP DL380 Gen8
CPU
2.90 GHz. 8 Cores. 16 Logical Processors
Good mix between speed and number of cores
Hyper threading to 32 logical cores to the OS
I/O
Local Fixed Disk (4,38 TB). 4 x Fusion IO Drive 2 Stripe Set (4x1,2TB)
Very high IOPs (random reads: 140.000/s)
Very high throughput (random reads: 4,3GB/s)
Memory
256 GB physical memory
OS: Windows Server 2012 Datacenter
REFERENCE HARDWARE CONFIGURATION
Test execution
TEST ENVIRONMENT
Test Execution Test Suite
10 GB Ethernet
2 SQL Server Analysis Services Databases
100 GB – fits into memory
1.000 GB – does not fit into memory
3 query-patterns
7 Standard queries for common business questions
Ratio-to-Total, Rolling-12-month, Year-over-Year growth, …
1 DistinctCount query
1 Many-to-Many query
Increasing number of users
Incrementally grow number of connected users – 1 every 10 sec
Up to 200 concurrent users
TEST OVERVIEW
Results
“How many queries can be answered
within a given time period“
DEFINING CONCURRENCY
EXPECTED RESULTS
(1) Constant test duration
(2) Until saturation point is reached
(3) Linear increase of test duration together with concurrent users
(1) (3)(2)
Avg. query
response time
More than 100+ concurrent users (connections) supported
For standard queries
With Average response time <3 seconds
Regardless of database size
Complex queries impact average response time
DistinctCount and Many-to-Many queries may not finish before the
next user connects – especially for the 1,000 GB cube
Usually:
- not every query has the pattern of a complex query
- executed rarely compare to the standard queries
- can be avoided by appropriate cube design
Scalability depends on CPU resources. I/O is not a limiting factor
anymore
FINAL RESULTS – OVERVIEW
Constant query execution time till CPU limit reached with growing
numbers of concurrent users
FINAL RESULTS – OVERVIEW
* Query 20
An average of 285 concurrent users with a response time below 3
seconds for standard queries
Only 2 concurrent users for more complex queries
FINAL RESULTS – DETAILS 100 GB
Query-Pattern Query
AvgTests/s
(@SP)
Max
Avg Tests/s
Median
Avg Tests/s
Queries
/ Test
Supported Concurrent Users/Queries
3s Response Time 10s Response Time
Standard Query2 360.0 513.2 429.8 1 1.080 3,600
Standard Query3 4.5 9.4 4.0 1 14 45
Standard Query20 22.5 41.0 22.0 1 68 225
Standard Query21 14.0 17.2 13.0 1 42 140
Standard Query22 1.5 4.2 1.0 1 5 15
Standard Query52 250.0 505.6 323.4 1 750 2,500
Standard Query77 13.0 88.0 14.8 1 39 130
DistinctCount Query100 0.6 2.8 0.6 1 2 6
Many-to-Many Query101 6.8 112.0 76.2 1 20 68
AllQueries AllQueries 0.8 260.4 0.2 9 2 8
(@SP) = @saturation point
An average of 210 concurrent users with a response time below 3
seconds for standard queries
more complex queries run longer than our required response time
which means we cannot even satisfy 1 concurrent user
FINAL RESULTS – DETAILS 1000 GB
Query-Pattern Query
AvgTests/s
(@SP)
Max
Avg Tests/s
Median
Avg Tests/s
Queries
/ Test
Supported Concurrent Users/Queries
3s Response Time 10s Response Time
Standard Query2 250,0 409,8 373,2 1 750 2.500
Standard Query3 0,4 3,4 - 1 1 4
Standard Query20 10,0 16,6 10,5 1 30 100
Standard Query21 6,6 11,4 6,6 1 20 66
Standard Query22 1,0 4,4 0,8 1 3 10
Standard Query52 220,0 388,6 304,2 1 660 2.200
Standard Query77 0,1 5,4 0,2 1 0 1
DistinctCount Query100 - 0,2 - 1 - -
Many-to-Many Query101 - 0,6 - 1 - -
AllQueries AllQueries - 2,6 - 9 - -
(@SP) = @saturation point
Shown great linear, CPU bound scale for fast queries
Concurrency is related to the number of queries not to the number of
users
No user would run more than one query per second
Caching helps to avoid expensive IO operations
NUMBER OF USERS VS. QUERY RESPONSE TIME
Bigger cube  more IO
slower query response times
Bigger cube  not everything can be loaded into memory
Constant IO going on  slower query response times
2 possible solutions to handle more data
Better IO system
More memory
(More CPU to handle additional threads)
QUERY RESPONSE TIME VS. DATA VOLUME
Summary
This sample configuration can be used as reference architecture for
building high scalable OLAP solutions.
With given configuration we satisfied the SLAs for the cube up to 1TB
in size and 200+ concurrent queries.
Capacity calculation
The average query per core ratio is 6,5.
If more than 200 concurrent queries are expected then this ratio can be
used to calculated necessary number of cores.
Sample: 400 concurrent queries = 400/6,5 = 64 cores
CONCLUSION
QUESTIONS?

More Related Content

What's hot

Sql server performance tuning
Sql server performance tuningSql server performance tuning
Sql server performance tuningJugal Shah
 
Progress OpenEdge database administration guide and reference
Progress OpenEdge database administration guide and referenceProgress OpenEdge database administration guide and reference
Progress OpenEdge database administration guide and referenceVinh Nguyen
 
Performance Tuning for Pirates!
Performance Tuning for Pirates!Performance Tuning for Pirates!
Performance Tuning for Pirates!John Sterrett
 
Hardware planning & sizing for sql server
Hardware planning & sizing for sql serverHardware planning & sizing for sql server
Hardware planning & sizing for sql serverDavide Mauri
 
SQL Server Performance Tuning Baseline
SQL Server Performance Tuning BaselineSQL Server Performance Tuning Baseline
SQL Server Performance Tuning Baseline► Supreme Mandal ◄
 
PostGreSQL Performance Tuning
PostGreSQL Performance TuningPostGreSQL Performance Tuning
PostGreSQL Performance TuningMaven Logix
 
PostgreSQL Hangout Parameter Tuning
PostgreSQL Hangout Parameter TuningPostgreSQL Hangout Parameter Tuning
PostgreSQL Hangout Parameter TuningAshnikbiz
 
Whitepaper: Exadata Consolidation Success Story
Whitepaper: Exadata Consolidation Success StoryWhitepaper: Exadata Consolidation Success Story
Whitepaper: Exadata Consolidation Success StoryKristofferson A
 
Sql Server Performance Tuning
Sql Server Performance TuningSql Server Performance Tuning
Sql Server Performance TuningBala Subra
 
SQL Server Tuning to Improve Database Performance
SQL Server Tuning to Improve Database PerformanceSQL Server Tuning to Improve Database Performance
SQL Server Tuning to Improve Database PerformanceMark Ginnebaugh
 
The Magic of Tuning in PostgreSQL
The Magic of Tuning in PostgreSQLThe Magic of Tuning in PostgreSQL
The Magic of Tuning in PostgreSQLAshnikbiz
 
Oracle database performance tuning
Oracle database performance tuningOracle database performance tuning
Oracle database performance tuningAbishek V S
 
Find and fix SQL Server performance problems faster
Find and fix SQL Server performance problems fasterFind and fix SQL Server performance problems faster
Find and fix SQL Server performance problems fasterSolarWinds
 
Analyzing and Interpreting AWR
Analyzing and Interpreting AWRAnalyzing and Interpreting AWR
Analyzing and Interpreting AWRpasalapudi
 
Average Active Sessions - OaktableWorld 2013
Average Active Sessions - OaktableWorld 2013Average Active Sessions - OaktableWorld 2013
Average Active Sessions - OaktableWorld 2013John Beresniewicz
 
polyserve-sql-server-scale-out-reporting
polyserve-sql-server-scale-out-reportingpolyserve-sql-server-scale-out-reporting
polyserve-sql-server-scale-out-reportingJason Goodman
 
Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...
Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...
Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...Kristofferson A
 
Whitepaper: Where did my CPU go?
Whitepaper: Where did my CPU go?Whitepaper: Where did my CPU go?
Whitepaper: Where did my CPU go?Kristofferson A
 

What's hot (20)

Analyzing awr report
Analyzing awr reportAnalyzing awr report
Analyzing awr report
 
Sql server performance tuning
Sql server performance tuningSql server performance tuning
Sql server performance tuning
 
Progress OpenEdge database administration guide and reference
Progress OpenEdge database administration guide and referenceProgress OpenEdge database administration guide and reference
Progress OpenEdge database administration guide and reference
 
Performance Tuning for Pirates!
Performance Tuning for Pirates!Performance Tuning for Pirates!
Performance Tuning for Pirates!
 
Hardware planning & sizing for sql server
Hardware planning & sizing for sql serverHardware planning & sizing for sql server
Hardware planning & sizing for sql server
 
SQL Server Performance Tuning Baseline
SQL Server Performance Tuning BaselineSQL Server Performance Tuning Baseline
SQL Server Performance Tuning Baseline
 
PostGreSQL Performance Tuning
PostGreSQL Performance TuningPostGreSQL Performance Tuning
PostGreSQL Performance Tuning
 
PostgreSQL Hangout Parameter Tuning
PostgreSQL Hangout Parameter TuningPostgreSQL Hangout Parameter Tuning
PostgreSQL Hangout Parameter Tuning
 
Whitepaper: Exadata Consolidation Success Story
Whitepaper: Exadata Consolidation Success StoryWhitepaper: Exadata Consolidation Success Story
Whitepaper: Exadata Consolidation Success Story
 
Sql Server Performance Tuning
Sql Server Performance TuningSql Server Performance Tuning
Sql Server Performance Tuning
 
SQL Server Tuning to Improve Database Performance
SQL Server Tuning to Improve Database PerformanceSQL Server Tuning to Improve Database Performance
SQL Server Tuning to Improve Database Performance
 
The Magic of Tuning in PostgreSQL
The Magic of Tuning in PostgreSQLThe Magic of Tuning in PostgreSQL
The Magic of Tuning in PostgreSQL
 
Oracle database performance tuning
Oracle database performance tuningOracle database performance tuning
Oracle database performance tuning
 
Find and fix SQL Server performance problems faster
Find and fix SQL Server performance problems fasterFind and fix SQL Server performance problems faster
Find and fix SQL Server performance problems faster
 
Analyzing and Interpreting AWR
Analyzing and Interpreting AWRAnalyzing and Interpreting AWR
Analyzing and Interpreting AWR
 
Average Active Sessions - OaktableWorld 2013
Average Active Sessions - OaktableWorld 2013Average Active Sessions - OaktableWorld 2013
Average Active Sessions - OaktableWorld 2013
 
Concurrency
ConcurrencyConcurrency
Concurrency
 
polyserve-sql-server-scale-out-reporting
polyserve-sql-server-scale-out-reportingpolyserve-sql-server-scale-out-reporting
polyserve-sql-server-scale-out-reporting
 
Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...
Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...
Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...
 
Whitepaper: Where did my CPU go?
Whitepaper: Where did my CPU go?Whitepaper: Where did my CPU go?
Whitepaper: Where did my CPU go?
 

Viewers also liked

A Gentle Introduction to Microsoft SSAS
A Gentle Introduction to Microsoft SSASA Gentle Introduction to Microsoft SSAS
A Gentle Introduction to Microsoft SSASJohn Paredes
 
Data warehouse and ssas terms
Data warehouse and ssas termsData warehouse and ssas terms
Data warehouse and ssas termsKaran Gulati
 
Microsoft SSAS: Should I Use Tabular or Multidimensional?
Microsoft SSAS: Should I Use Tabular or Multidimensional?Microsoft SSAS: Should I Use Tabular or Multidimensional?
Microsoft SSAS: Should I Use Tabular or Multidimensional?Senturus
 
Microsoft SQL Server Analysis Services (SSAS) - A Practical Introduction
Microsoft SQL Server Analysis Services (SSAS) - A Practical Introduction Microsoft SQL Server Analysis Services (SSAS) - A Practical Introduction
Microsoft SQL Server Analysis Services (SSAS) - A Practical Introduction Mark Ginnebaugh
 
SQL - Parallel Data Warehouse (PDW)
SQL - Parallel Data Warehouse (PDW)SQL - Parallel Data Warehouse (PDW)
SQL - Parallel Data Warehouse (PDW) Karan Gulati
 
Analytic powerhouse parallel data warehouse und r
Analytic powerhouse parallel data warehouse und rAnalytic powerhouse parallel data warehouse und r
Analytic powerhouse parallel data warehouse und rMarcel Franke
 
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015In Memory-Technologien im Vergleich - SQL Server Konferenz 2015
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015Marcel Franke
 
Building an Effective Data Warehouse Architecture
Building an Effective Data Warehouse ArchitectureBuilding an Effective Data Warehouse Architecture
Building an Effective Data Warehouse ArchitectureJames Serra
 

Viewers also liked (8)

A Gentle Introduction to Microsoft SSAS
A Gentle Introduction to Microsoft SSASA Gentle Introduction to Microsoft SSAS
A Gentle Introduction to Microsoft SSAS
 
Data warehouse and ssas terms
Data warehouse and ssas termsData warehouse and ssas terms
Data warehouse and ssas terms
 
Microsoft SSAS: Should I Use Tabular or Multidimensional?
Microsoft SSAS: Should I Use Tabular or Multidimensional?Microsoft SSAS: Should I Use Tabular or Multidimensional?
Microsoft SSAS: Should I Use Tabular or Multidimensional?
 
Microsoft SQL Server Analysis Services (SSAS) - A Practical Introduction
Microsoft SQL Server Analysis Services (SSAS) - A Practical Introduction Microsoft SQL Server Analysis Services (SSAS) - A Practical Introduction
Microsoft SQL Server Analysis Services (SSAS) - A Practical Introduction
 
SQL - Parallel Data Warehouse (PDW)
SQL - Parallel Data Warehouse (PDW)SQL - Parallel Data Warehouse (PDW)
SQL - Parallel Data Warehouse (PDW)
 
Analytic powerhouse parallel data warehouse und r
Analytic powerhouse parallel data warehouse und rAnalytic powerhouse parallel data warehouse und r
Analytic powerhouse parallel data warehouse und r
 
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015In Memory-Technologien im Vergleich - SQL Server Konferenz 2015
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015
 
Building an Effective Data Warehouse Architecture
Building an Effective Data Warehouse ArchitectureBuilding an Effective Data Warehouse Architecture
Building an Effective Data Warehouse Architecture
 

Similar to SSAS Reference Architecture

Mapping Data Flows Perf Tuning April 2021
Mapping Data Flows Perf Tuning April 2021Mapping Data Flows Perf Tuning April 2021
Mapping Data Flows Perf Tuning April 2021Mark Kromer
 
Leveraging Functional Tools and AWS for Performance Testing
Leveraging Functional Tools and AWS for Performance TestingLeveraging Functional Tools and AWS for Performance Testing
Leveraging Functional Tools and AWS for Performance TestingThoughtworks
 
"Эффективность и оптимизация кода в Java 8" Сергей Моренец
"Эффективность и оптимизация кода в Java 8" Сергей Моренец"Эффективность и оптимизация кода в Java 8" Сергей Моренец
"Эффективность и оптимизация кода в Java 8" Сергей МоренецFwdays
 
Help, I need to migrate my On Premise Database to Azure, which Database Tier ...
Help, I need to migrate my On Premise Database to Azure, which Database Tier ...Help, I need to migrate my On Premise Database to Azure, which Database Tier ...
Help, I need to migrate my On Premise Database to Azure, which Database Tier ...Erwin de Kreuk
 
Sql saturday azure storage by Anton Vidishchev
Sql saturday azure storage by Anton VidishchevSql saturday azure storage by Anton Vidishchev
Sql saturday azure storage by Anton VidishchevAlex Tumanoff
 
Windows Azure Storage: Overview, Internals, and Best Practices
Windows Azure Storage: Overview, Internals, and Best PracticesWindows Azure Storage: Overview, Internals, and Best Practices
Windows Azure Storage: Overview, Internals, and Best PracticesAnton Vidishchev
 
Cassandra CLuster Management by Japan Cassandra Community
Cassandra CLuster Management by Japan Cassandra CommunityCassandra CLuster Management by Japan Cassandra Community
Cassandra CLuster Management by Japan Cassandra CommunityHiromitsu Komatsu
 
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayDatadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayC4Media
 
Solving Office 365 Big Challenges using Cassandra + Spark
Solving Office 365 Big Challenges using Cassandra + Spark Solving Office 365 Big Challenges using Cassandra + Spark
Solving Office 365 Big Challenges using Cassandra + Spark Anubhav Kale
 
Azure Data Factory Data Flow Performance Tuning 101
Azure Data Factory Data Flow Performance Tuning 101Azure Data Factory Data Flow Performance Tuning 101
Azure Data Factory Data Flow Performance Tuning 101Mark Kromer
 
Speeding Up Atlas Deep Learning Platform with Alluxio + Fluid
Speeding Up Atlas Deep Learning Platform with Alluxio + FluidSpeeding Up Atlas Deep Learning Platform with Alluxio + Fluid
Speeding Up Atlas Deep Learning Platform with Alluxio + FluidAlluxio, Inc.
 
Sql Server 2008 And Moss
Sql Server 2008 And MossSql Server 2008 And Moss
Sql Server 2008 And MossEduardo Castro
 
Forecasting database performance
Forecasting database performanceForecasting database performance
Forecasting database performanceShenglin Du
 
Michigan Information Retrieval Enthusiasts Group Meetup - August 19, 2010
Michigan Information Retrieval Enthusiasts Group Meetup - August 19, 2010Michigan Information Retrieval Enthusiasts Group Meetup - August 19, 2010
Michigan Information Retrieval Enthusiasts Group Meetup - August 19, 2010ivan provalov
 
Windows Azure Acid Test
Windows Azure Acid TestWindows Azure Acid Test
Windows Azure Acid Testexpanz
 
Database Core performance principles
Database Core performance principlesDatabase Core performance principles
Database Core performance principlesKoppelaars
 
Performance Test Plan - Sample 1
Performance Test Plan - Sample 1Performance Test Plan - Sample 1
Performance Test Plan - Sample 1Atul Pant
 
Oracle Result Cache deep dive
Oracle Result Cache deep diveOracle Result Cache deep dive
Oracle Result Cache deep diveAlexander Tokarev
 
Best storage engine for MySQL
Best storage engine for MySQLBest storage engine for MySQL
Best storage engine for MySQLtomflemingh2
 

Similar to SSAS Reference Architecture (20)

Mapping Data Flows Perf Tuning April 2021
Mapping Data Flows Perf Tuning April 2021Mapping Data Flows Perf Tuning April 2021
Mapping Data Flows Perf Tuning April 2021
 
Leveraging Functional Tools and AWS for Performance Testing
Leveraging Functional Tools and AWS for Performance TestingLeveraging Functional Tools and AWS for Performance Testing
Leveraging Functional Tools and AWS for Performance Testing
 
"Эффективность и оптимизация кода в Java 8" Сергей Моренец
"Эффективность и оптимизация кода в Java 8" Сергей Моренец"Эффективность и оптимизация кода в Java 8" Сергей Моренец
"Эффективность и оптимизация кода в Java 8" Сергей Моренец
 
Optimizing Uptime in SOA
Optimizing Uptime in SOAOptimizing Uptime in SOA
Optimizing Uptime in SOA
 
Help, I need to migrate my On Premise Database to Azure, which Database Tier ...
Help, I need to migrate my On Premise Database to Azure, which Database Tier ...Help, I need to migrate my On Premise Database to Azure, which Database Tier ...
Help, I need to migrate my On Premise Database to Azure, which Database Tier ...
 
Sql saturday azure storage by Anton Vidishchev
Sql saturday azure storage by Anton VidishchevSql saturday azure storage by Anton Vidishchev
Sql saturday azure storage by Anton Vidishchev
 
Windows Azure Storage: Overview, Internals, and Best Practices
Windows Azure Storage: Overview, Internals, and Best PracticesWindows Azure Storage: Overview, Internals, and Best Practices
Windows Azure Storage: Overview, Internals, and Best Practices
 
Cassandra CLuster Management by Japan Cassandra Community
Cassandra CLuster Management by Japan Cassandra CommunityCassandra CLuster Management by Japan Cassandra Community
Cassandra CLuster Management by Japan Cassandra Community
 
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayDatadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
 
Solving Office 365 Big Challenges using Cassandra + Spark
Solving Office 365 Big Challenges using Cassandra + Spark Solving Office 365 Big Challenges using Cassandra + Spark
Solving Office 365 Big Challenges using Cassandra + Spark
 
Azure Data Factory Data Flow Performance Tuning 101
Azure Data Factory Data Flow Performance Tuning 101Azure Data Factory Data Flow Performance Tuning 101
Azure Data Factory Data Flow Performance Tuning 101
 
Speeding Up Atlas Deep Learning Platform with Alluxio + Fluid
Speeding Up Atlas Deep Learning Platform with Alluxio + FluidSpeeding Up Atlas Deep Learning Platform with Alluxio + Fluid
Speeding Up Atlas Deep Learning Platform with Alluxio + Fluid
 
Sql Server 2008 And Moss
Sql Server 2008 And MossSql Server 2008 And Moss
Sql Server 2008 And Moss
 
Forecasting database performance
Forecasting database performanceForecasting database performance
Forecasting database performance
 
Michigan Information Retrieval Enthusiasts Group Meetup - August 19, 2010
Michigan Information Retrieval Enthusiasts Group Meetup - August 19, 2010Michigan Information Retrieval Enthusiasts Group Meetup - August 19, 2010
Michigan Information Retrieval Enthusiasts Group Meetup - August 19, 2010
 
Windows Azure Acid Test
Windows Azure Acid TestWindows Azure Acid Test
Windows Azure Acid Test
 
Database Core performance principles
Database Core performance principlesDatabase Core performance principles
Database Core performance principles
 
Performance Test Plan - Sample 1
Performance Test Plan - Sample 1Performance Test Plan - Sample 1
Performance Test Plan - Sample 1
 
Oracle Result Cache deep dive
Oracle Result Cache deep diveOracle Result Cache deep dive
Oracle Result Cache deep dive
 
Best storage engine for MySQL
Best storage engine for MySQLBest storage engine for MySQL
Best storage engine for MySQL
 

Recently uploaded

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Recently uploaded (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

SSAS Reference Architecture

  • 1. SQL Server Analysis Services Reference Architecture
  • 2. Customer Challenges Goal of this whitepaper Hardware configuration Test Execution Results TODAY’S AGENDA
  • 3. TEAM Thomas Kejser CTO EMEA at Fusion- io Alexei Khalyako SQL CAT Program Manager at Microsoft Marcel Franke Practice Lead at pmOne Gerhard Brückl Practice Lead at pmOne SSAS Maestro Hannes Mayer Practice Lead at pmOne SSAS Maestro
  • 4. Build scalable solutions on user demand Choose of an OLAP optimized hardware configuration Align SSAS configuration to hardware settings CUSTOMER CHALLENGES
  • 5. Reduce Risk Reduce Cost Accelerate Performance Prove Scalability GOAL OF THIS WHITEPAPER
  • 7. What makes a good hardware for SQL Server Analysis Services CPU More cores  more parallelism for Storage Engine bound queries High clock rate  faster Formula Engine bound queries I/O SSAS uses random reads  No spinning disks - use Fusion-IO drives instead  Use local disks to avoid unnecessary fiber channel/iSCSI cost Memory More memory  more data can be loaded into memory In ideal case: entire cube could be loaded into memory GENERAL HARDWARE RECOMMENDATIONS
  • 8. Server: HP DL380 Gen8 CPU 2.90 GHz. 8 Cores. 16 Logical Processors Good mix between speed and number of cores Hyper threading to 32 logical cores to the OS I/O Local Fixed Disk (4,38 TB). 4 x Fusion IO Drive 2 Stripe Set (4x1,2TB) Very high IOPs (random reads: 140.000/s) Very high throughput (random reads: 4,3GB/s) Memory 256 GB physical memory OS: Windows Server 2012 Datacenter REFERENCE HARDWARE CONFIGURATION
  • 10. TEST ENVIRONMENT Test Execution Test Suite 10 GB Ethernet
  • 11. 2 SQL Server Analysis Services Databases 100 GB – fits into memory 1.000 GB – does not fit into memory 3 query-patterns 7 Standard queries for common business questions Ratio-to-Total, Rolling-12-month, Year-over-Year growth, … 1 DistinctCount query 1 Many-to-Many query Increasing number of users Incrementally grow number of connected users – 1 every 10 sec Up to 200 concurrent users TEST OVERVIEW
  • 13. “How many queries can be answered within a given time period“ DEFINING CONCURRENCY
  • 14. EXPECTED RESULTS (1) Constant test duration (2) Until saturation point is reached (3) Linear increase of test duration together with concurrent users (1) (3)(2) Avg. query response time
  • 15. More than 100+ concurrent users (connections) supported For standard queries With Average response time <3 seconds Regardless of database size Complex queries impact average response time DistinctCount and Many-to-Many queries may not finish before the next user connects – especially for the 1,000 GB cube Usually: - not every query has the pattern of a complex query - executed rarely compare to the standard queries - can be avoided by appropriate cube design Scalability depends on CPU resources. I/O is not a limiting factor anymore FINAL RESULTS – OVERVIEW
  • 16. Constant query execution time till CPU limit reached with growing numbers of concurrent users FINAL RESULTS – OVERVIEW * Query 20
  • 17. An average of 285 concurrent users with a response time below 3 seconds for standard queries Only 2 concurrent users for more complex queries FINAL RESULTS – DETAILS 100 GB Query-Pattern Query AvgTests/s (@SP) Max Avg Tests/s Median Avg Tests/s Queries / Test Supported Concurrent Users/Queries 3s Response Time 10s Response Time Standard Query2 360.0 513.2 429.8 1 1.080 3,600 Standard Query3 4.5 9.4 4.0 1 14 45 Standard Query20 22.5 41.0 22.0 1 68 225 Standard Query21 14.0 17.2 13.0 1 42 140 Standard Query22 1.5 4.2 1.0 1 5 15 Standard Query52 250.0 505.6 323.4 1 750 2,500 Standard Query77 13.0 88.0 14.8 1 39 130 DistinctCount Query100 0.6 2.8 0.6 1 2 6 Many-to-Many Query101 6.8 112.0 76.2 1 20 68 AllQueries AllQueries 0.8 260.4 0.2 9 2 8 (@SP) = @saturation point
  • 18. An average of 210 concurrent users with a response time below 3 seconds for standard queries more complex queries run longer than our required response time which means we cannot even satisfy 1 concurrent user FINAL RESULTS – DETAILS 1000 GB Query-Pattern Query AvgTests/s (@SP) Max Avg Tests/s Median Avg Tests/s Queries / Test Supported Concurrent Users/Queries 3s Response Time 10s Response Time Standard Query2 250,0 409,8 373,2 1 750 2.500 Standard Query3 0,4 3,4 - 1 1 4 Standard Query20 10,0 16,6 10,5 1 30 100 Standard Query21 6,6 11,4 6,6 1 20 66 Standard Query22 1,0 4,4 0,8 1 3 10 Standard Query52 220,0 388,6 304,2 1 660 2.200 Standard Query77 0,1 5,4 0,2 1 0 1 DistinctCount Query100 - 0,2 - 1 - - Many-to-Many Query101 - 0,6 - 1 - - AllQueries AllQueries - 2,6 - 9 - - (@SP) = @saturation point
  • 19. Shown great linear, CPU bound scale for fast queries Concurrency is related to the number of queries not to the number of users No user would run more than one query per second Caching helps to avoid expensive IO operations NUMBER OF USERS VS. QUERY RESPONSE TIME
  • 20. Bigger cube  more IO slower query response times Bigger cube  not everything can be loaded into memory Constant IO going on  slower query response times 2 possible solutions to handle more data Better IO system More memory (More CPU to handle additional threads) QUERY RESPONSE TIME VS. DATA VOLUME
  • 22. This sample configuration can be used as reference architecture for building high scalable OLAP solutions. With given configuration we satisfied the SLAs for the cube up to 1TB in size and 200+ concurrent queries. Capacity calculation The average query per core ratio is 6,5. If more than 200 concurrent queries are expected then this ratio can be used to calculated necessary number of cores. Sample: 400 concurrent queries = 400/6,5 = 64 cores CONCLUSION

Editor's Notes

  1. Accelerate Data Warehouse projects with scalable reference architecture for SQL Server Analysis ServicesReduce costs, save time and reduce risk with reliable reference architectures and best practices Suitable for typical workloads (OLAP-DB size, query pattern, number of users)Reference Architecture consists of:Best Practices for SQL Server Analysis Services settingsHardware recommendations for typical workloadsAligned configurations of software, hardware and OSShow Scalability of SSAS and reference architectureProvide test cases &amp; results