Scaling Analysis Services in the Cloud

Similar documents
SharePoint 2013 on Windows Azure Infrastructure David Aiken & Dan Wesley Version 1.0

BI on Cloud using SQL Server on IaaS

The last 18 months. AutoScale. IaaS. BizTalk Services Hyper-V Disaster Recovery Support. Multi-Factor Auth. Hyper-V Recovery.

Load Testing Analysis Services Gerhard Brückl

WINDOWS AZURE EXECUTION MODELS

SQL Server on Azure An e2e Overview. Nosheen Syed Principal Group Program Manager Microsoft


Microsoft Azure for IT Professionals 55065A; 3 days

Best Practices for Virtualised SharePoint

Azure VM Performance Considerations Running SQL Server

Web Application Hosting Cloud Architecture

SHAREPOINT 2013 IN INFRASTRUCTURE AS A SERVICE

Virtual desktops made easy

Deploying Microsoft Dynamics CRM in Microsoft Azure Virtual Machines. October 2015

Alfresco Enterprise on Azure: Reference Architecture. September 2014

Scaling Database Performance in Azure

Building a BI Solution in the Cloud

Big data variety, 179 velocity, 179 volume, 179 Blob storage containers

Course 20533: Implementing Microsoft Azure Infrastructure Solutions

Microsoft Implementing Microsoft Azure Infrastructure Solutions

Harnessing the Power of the Microsoft Cloud for Deep Data Analytics

Realizing the Benefits of Hybrid Cloud. Anand MS Cloud Solutions Architect Microsoft Asia Pacific

Building a SQL Server Test Lab. Ted Krueger SQL Server MVP Data Architect

Implementing Microsoft Azure Infrastructure Solutions

MATLAB Distributed Computing Server with HPC Cluster in Microsoft Azure

Mark Bennett. Search and the Virtual Machine

SMB Advanced Networking for Fault Tolerance and Performance. Jose Barreto Principal Program Managers Microsoft Corporation

Cognos8 Deployment Best Practices for Performance/Scalability. Barnaby Cole Practice Lead, Technical Services

Building Scalable Applications Using Microsoft Technologies

HP ProLiant BL660c Gen9 and Microsoft SQL Server 2014 technical brief

Demystifying the Cloud Computing

Assignment # 1 (Cloud Computing Security)

Deploying and Optimizing SQL Server for Virtual Machines

Good Morning Wireless! SSID: MSFTOPEN No Username or Password Required

SQL Server Virtualization

Windows Azure Storage Scaling Cloud Storage Andrew Edwards Microsoft

SQL Server Business Intelligence on HP ProLiant DL785 Server

Developing Microsoft Azure Solutions

Developing Microsoft Azure Solutions 20532A; 5 days

Brocade and EMC Solution for Microsoft Hyper-V and SharePoint Clusters

CloudCmp:Comparing Cloud Providers. Raja Abhinay Moparthi

A Comparison of Clouds: Amazon Web Services, Windows Azure, Google Cloud Platform, VMWare and Others (Fall 2012)

SQL Server What s New? Christopher Speer. Technology Solution Specialist (SQL Server, BizTalk Server, Power BI, Azure) v-cspeer@microsoft.

Cloud Optimize Your IT

MICROSOFT HYPER-V SCALABILITY WITH EMC SYMMETRIX VMAX

Cloud Computing. Chapter 1 Introducing Cloud Computing

INDIA September 2011 virtual techdays

SQL Server Business Intelligence

CLOUD COMPUTING & WINDOWS AZURE

Virtual SAN Design and Deployment Guide

Capacity Planning for Microsoft SharePoint Technologies

System Requirements Table of contents

Hands on Lab: Building a Virtual Machine and Uploading VM Images to the Cloud using Windows Azure Infrastructure Services

WINDOWS AZURE NETWORKING

Aqua Connect Load Balancer User Manual (Mac)

The Benefits of Virtualizing

Getting Started with Sitecore Azure

RemoteApp Publishing on AWS

Scaling out a SharePoint Farm and Configuring Network Load Balancing on the Web Servers. Steve Smith Combined Knowledge MVP SharePoint Server

How To Live Migrate In Hyperv On Windows Server 22 (Windows) (Windows V) (Hyperv) (Powerpoint) (For A Hyperv Virtual Machine) (Virtual Machine) And (Hyper V) Vhd (Virtual Hard Disk

Building a Highly Available and Scalable Web Farm

WITH A FUSION POWERED SQL SERVER 2014 IN-MEMORY OLTP DATABASE

Sanbolic s SAN Storage Enhancing Software Portfolio

THE WINDOWS AZURE PROGRAMMING MODEL

Deployment Planning Guide

Migrating SaaS Applications to Windows Azure

Distribution One Server Requirements

GoGrid Implement.com Configuring a SQL Server 2012 AlwaysOn Cluster

Deep Dive on SimpliVity s OmniStack A Technical Whitepaper

Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance.

Storage Sync for Hyper-V. Installation Guide for Microsoft Hyper-V

Microsoft Azure. IaaS Networking Storage. Stefan Geiger Gerry

Administering Microsoft SQL Server 2012 Databases

Estimate Performance and Capacity Requirements for Workflow in SharePoint Server 2010

SQL 2016 and SQL Azure

Microsoft Exam

Software to Simplify and Share SAN Storage Sanbolic s SAN Storage Enhancing Software Portfolio

Part 1 - What s New in Hyper-V 2012 R2. Clive.Watson@Microsoft.com Datacenter Specialist

Tuning Microsoft SQL Server for SharePoint. Daniel Glenn

Understanding Microsoft Storage Spaces

AZP: Microsoft Azure Infrastructure for IT Professional

Deploying XenApp 7.5 on Microsoft Azure cloud

Maximizing SQL Server Virtualization Performance

Bosch Video Management System High Availability with Hyper-V

McAfee Enterprise Mobility Management Performance and Scalability Guide

Best Practices for Monitoring Databases on VMware. Dean Richards Senior DBA, Confio Software

Implementing Microsoft Azure Infrastructure Solutions 20533B; 5 Days, Instructor-led

Microsoft Dynamics NAV 2013 R2 Sizing Guidelines for Multitenant Deployments

CAT: Azure SQL DB Premium Deep Dive and Mythbuster

SQL Server 2008 Performance and Scale

Using and Contributing Virtual Machines to VM Depot

Cluster Computing. ! Fault tolerance. ! Stateless. ! Throughput. ! Stateful. ! Response time. Architectures. Stateless vs. Stateful.

Course 20533B: Implementing Microsoft Azure Infrastructure Solutions

Transcription:

Our Sponsors

Scaling Analysis Services in the Cloud by Gerhard Brückl gerhard@gbrueckl.at blog.gbrueckl.at

About me Gerhard Brückl Working with Microsoft BI since 2006 Windows Azure / Cloud since 2013 focused on Analytics and Reporting Blog: email: blog.gbrueckl.at gerhard@gbrueckl.at

Agenda Why do we need to scale? How can we scale Scale Up Scale Out Windows Azure

Why do we need to scale? Growing amount of data Growing amount of users Actuality of data Complexity of data loads Latency (remote locations)

Things we want to achieve Better Query Performance Single User Concurrent User Faster availability of data High Availability Easy maintenance Flexible resource usage / peak times Better Processing Performance

How can we scale? Scale Up Increase resources of current machine Scale Out Add further machines Create Farm

Scale Up Increase CPU (clock rate vs. #cores) Memory IO (Network)

Scale Up Pros Solves most issues Straight forward / simple No change in architecture Cons Can only Scale Up to a certain point Expensive in terms of high-end hardware

Scale Up CPU Parallel Processing / Querying Concurrent users (faster calculations) Memory I/O Caching relieve IO / CPU Faster initial Querying / Processing

Scale Up Increase CPU Increase Memory Increase IO Cube size (in general) + + + Query Performance (single user) + + + Query Performance (multiple users) + + ~ Processing Performance + ~ + Actuality of data + ~ + High Availability ~ ~ ~

Scale Out Increase number of machines Distribute work load Handle peaks

Scale Out Pros unlimited scalability Flexibility easy to extend / shrink farm Can be leveraged during data loads Cons Change in Architecture Harder to maintain Only solves concurrency issues No improvements for single queries

Scale Out Increase Number of Machines Cube size (in general) ~ Query Performance (single user) ~ Query Performance (multiple users) + Processing Performance + Actuality of data + High Availability +

and Analysis Services Software as a Service (SaaS) e.g. Office 365, SharePoint Online, Platform as a Service (PaaS) e.g. SQL Azure Databases, Infrastructure as a Service (IaaS) e.g. hosted virtual machine

IaaS Hosted Infrastructure Virtual Machines Virtual Storage Virtual Network

Basic Considerations and setup Choose a Region Create an Affinity Group Per Region Per Subscription Create Network Per Affinity Group

Virtual Network Per Region / Affinity Group Place VMs in same network Integrate on-site services Point-to-Site Connectivity Site-to-Site Connectivity

Storage Account Per Region / Affinity Group Blobs / Tables / Queues VHDs Locally Redundant Geo Redundant Geo Redundant (Read-Only)

Virtual Machine Per Region / Affinity Group / Virtual Network Created from Gallery Public Templates Private Templates Different Sizes Scale Up Availability Sets Scale Out

Scale Up Size # of Cores Memory # of Disks Price / Month * Extra small 1 (shared) 768 1 315 Small 1 1,750 2 354 Medium 2 3,500 4 404 Large 4 7,000 8 504 Extra Large 8 14,000 16 1,008 A5 2 14,000 4 526 A6 4 28,000 8 747 A7 8 56,000 16 1,495 (A8) 8 56,000? / SSD? (A9) 16 112,000? / SSD? *) SQL Server SE + Windows

Scale Up Simply change size Restart required Limited Capacities CPU Memory IO Use dedicated machines!

Scale Up Analysis Services Things to consider: Adjust I/O sub-system Add VHDs / rebuild Storage Pool Adjust memory limits Absolute settings Adjust CPUs Thread settings Group Affinity

Scale Up Analysis Services For frequent Scale Ups / Scale Downs Use default settings Use only relative settings Memory settings in % Thread settings 0 or <0

Scale Up Analysis Services On-Premise vs. Cloud CPU On-Premise Cloud A7 NUMA Nodes 2 2 Logical Cores 36 8 Memory On-Premise Cloud A7 Physical Memory 512 GB 56 GB SSAS / TotalMemoryLimit 100 GB 47 GB (85%) IO On-Premise Cloud A7 Disks (SSAS only) 2 2 RAID-Set RAID-0 RAID-0

Scale Up Analysis Services Processing Performance: Test SSAS-DB: Test SQL-DB: 26 GB 106 GB On-Premise Cloud A7 Parallel Processing 00:13:15 01:25:41 Serial Processing 01:36:05 05:17:28

Scale Up Analysis Services Query Performance: 7 Queries, +1 User/min, 60 mins Response time in Seconds On-Premise Cloud A7 Single Query1 3.25 15.30 Single Query2 51.60 86.30 Finished Tests On-Premise Cloud A7 After 20 minutes/users 347 166 After 40 minutes/users 871 346 After 60 minutes/users 1,356 480 (*)

Scale Up Analysis Services Scales with Number of CPUs Memory for concurrency IO for bigger databases

Scale Out Easily create/add new VMs Images Script Built-In Load Balancing Availability Sets Traffic Manager Unused VMs create no costs

Availability Sets Per Cloud Service Several VMs share same Public Port Used for High Availability Fault Domains Update Domains Load Balancing

Traffic Manager Per Subscription Several Cloud Services share URL Used For Availability Failover Performance

Region2 Region1 Windows Azure Availability Sets and Traffic Manager Traffic Manager Availability Set Regions Any one Round Robin Yes Yes Performance Yes No Failover Yes No Routing-Level DNS TCP / UDP

Availability Sets Auto-Scale Feature Scale by Metric Scale by Schedule Only for Availability Sets Also Third party tools

Analysis Services Settings Memory Default Value Suggested Value LowMemoryLimit 65 85 TotalMemoryLimit 80 90 PreAllocate 0 85 OLAP/Process Default Value Suggested Value AggregationMemoryLimitMin 10 5 AggregationMemoryLimitMax 80 10

Scaling I/O for Analysis Services Affinity Groups Storage Account Locally Redundant Geo Redundant Geo Redundant (Read-Only)

Scaling I/O for Analysis Services Limits Storage Account (Locally Redundant) 10 Gb/s in / 15 Gb/s out 20,000 Transaction/s Blobs and VHDs 500 IO/s 60 MB/s

Scaling I/O for Analysis Services Windows Server 2012 Storage Pools Abstraction Layer (Software) RAID GUI very buggy User PowerShell instead! RAID / Storage Pools vs. Single Drives

Scaling I/O for Analysis Services Theory 16 Disks: 60 MB/s * 16 960 MB/s 500 IO/s * 16 8,000 IO/S Reality A7 with 16 Disks: ~110 MB/s ~6,500 IO/s

Scaling I/O for Analysis Services 8k Random Reads 16k Random Reads 7.000 200 7.000 200 6.000 5.000 150 6.000 5.000 150 4.000 3.000 100 4.000 3.000 100 2.000 1.000 50 2.000 1.000 50 0 4 Disks 8 Disks 12 Disks 16Disks 0 0 4 Disks 8 Disks 12 Disks 16Disks 0 IO/s MB/s MB/s/Disk IO/s MB/s MB/s/Disk 32k Random Reads 64k Random Reads 7.000 6.000 5.000 4.000 3.000 2.000 1.000 0 4 Disks 8 Disks 12 Disks 16Disks 200 150 100 50 0 7.000 6.000 5.000 4.000 3.000 2.000 1.000 0 4 Disks 8 Disks 12 Disks 16Disks 200 150 100 50 0 IO/s MB/s MB/s/Disk IO/s MB/s MB/s/Disk

Scaling I/O for Analysis Services 8k Random Reads 64k Random Reads 7.000 200 7.000 200 6.000 5.000 150 6.000 5.000 150 4.000 3.000 100 4.000 3.000 100 2.000 1.000 50 2.000 1.000 50 0 4 Disks 8 Disks 12 Disks 16Disks 0 0 4 Disks 8 Disks 12 Disks 16Disks 0 IO/s MB/s MB/s/Disk IO/s MB/s MB/s/Disk IO scales linear for small blocks No improvements for bigger blocks

Scaling I/O for Analysis Services The special Temporary Storage (D:\) superfast but volatile storage 8k Random Reads 64k Random Reads 120.000 100.000 80.000 2.000 1.500 120.000 100.000 80.000 2.000 1.500 60.000 1.000 60.000 1.000 40.000 20.000 500 40.000 20.000 500 0 0 0 0 IO/s MB/s MB/s/Disk IO/s MB/s MB/s/Disk

Scaling I/O for Analysis Services MSDN: performance is not guaranteed to be predictable Deleted on resets, reboots, fail overs etc. Scale-Outs with separate Query and Processing Servers

Scaling I/O for Analysis Services Distributing IO Remote Partitions 2012 VHD01 VHD02 VHD03 Cloud Service SSAS1 2014 VHD16 VHD01 2011 VHD02 VHD03 SSAS2 2013 VHD16

Processing Analysis Services Cloud Service SSAS1 SSAS2 SSAS3 SSAS4

Conclusion & Findings Scale Up Easy to do Only limited scalability Watch out for: Disk / IO Setup absolute SSAS Settings

Conclusion & Findings Scale Out Almost everything can be automatized Create VMs Setup SSAS Very flexible Shutdown unused VMs Auto-Scale Service

Conclusion & Findings Scale Out Use Availability Sets if possible Fault Domains Update Domains Use Traffic Manager for Global Scale-Out Fail-Over

Conclusion & Findings Scale Out Sticky Session not supported! Don t use DirectReturn Possible issues with Session Objects Calculated members/sets Excel Pivot Tables XL Cubed Writeback

Conclusion & Findings IO Use Storage Pools Max # of Disks Upcoming Changes A8 / A9 VMs Internal Changes

THANK YOU!