SQL Storage Fundamentals for Azure IaaS

Slides:



Advertisements
Similar presentations
Russ Houberg Senior Technical Architect, MCM KnowledgeLake, Inc.
Advertisements

SYN407D: Image Management made easy with Provisioning Services 6.0
Key Perf considerations & bottlenecks Windows Azure VM characteristics Monitoring TroubleshootingBest practices.
Windows Azure Conference 2014 Azure Infrastructure services foundation.
Microsoft Azure Virtual Machines. Networking Compute Storage Virtual Machine Operating System Applications Data & Access Runtime Provision & Manage.
DBI313. MetricOLTPDWLog Read/Write mixMostly reads, smaller # of rows at a time Scan intensive, large portions of data at a time, bulk loading Mostly.
© 2008 Quest Software, Inc. ALL RIGHTS RESERVED. Perfmon and Profiler 101.
© 2011 IBM Corporation Sizing Guidelines Jana Jamsek ATS Europe.
Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick
Honest Bob’s Cube Processing Bob Duffy Database Architect Prodata SQL Centre of Excellence 18 th July, 2014.
An introduction to architecting in Azure What’s This Azure Thing Anyway? An introduction to architecting SQL Server in Azure IaaS.
Load Testing Analysis Services 30 th march 2012 Bob Duffy Database Architect Prodata SQL Centre of Excellence.
27-29 August NIMHANS Convention Centre, Bangalore, India. Modernizing The Data Platform Flying Through the Clouds Performance Tuning in Azure Joey.
Rick Claus Architect like a PRO for Performance and Availability of your Microsoft Azure VMs ARC43 6.
Deploying SQL Server With Microsoft Azure Virtual Machine Balakrishnan Shankar, Microsoft Based on actual customer experiences Based.
Configuring SQL Server for a successful SharePoint Server Deployment Haaron Gonzalez Solution Architect & Consultant Microsoft MVP SharePoint Server
Windows Azure For SQL Folk Bob Duffy Database Architect Prodata SQL Centre of Excellence
Making a Difference with Azure Storage Solutions Dudu Sinai.
When Good Design Goes Bad Bob Duffy. SQLSaturday #467 Sponsors.
Honest Bob’s Cube Processing Bob Duffy Database Architect.
SQL Server as a Cloud Service April 15th 2016 Warner Chaves Data Platform MVP/SQL Server MCM.
Indexing strategies and good physical designs for performance tuning Kenneth Ureña /SpanishPASSVC.
SQL 2012 – Always On Deep Dive Bob Duffy Database Architect Prodata SQL Centre of Excellence 11 th April 2013.
Migrating to Azure and the Cloud Bob Duffy Database Architect Prodata SQL Centre of Excellence 28th Sept, 2013.
When Good Design Goes Bad Bob Duffy Database Architect Prodata SQL Centre of Excellence March 2015.
Make Your Life Easier with Microsoft Flow
SQL Storage Fundamentals for Azure IaaS
SharePoint 2010 Performance and Capacity Planning Best Practices
EonStor DS 2000.
Deploying SQL Server With Microsoft Azure Virtual Machine
Welcome to… An Introduction to SQL Server & Containers
Banco de Dados – Planejando um ambiente SQL Server de alta performance e missão crítica Vitor Fava Data Platform MVP.
SharePoint Solutions Architect, Protiviti
Section 6: SQL Server on IaaS Best Practices
Hiding your data with SQL Server 2016/17
Matching Storage Spaces Direct Configurations to Your Workload
Data Warehouse in the Cloud – Marketing or Reality?
Windows Azure Migrating SQL Server Workloads
Installation and database instance essentials
Design and Implement Cloud Data Platform Solutions
BRK3310 Azure IaaS Design & Performance Considerations - Best Practices & Learnings from the field Daniel Neumann TSP – Azure Infrastructure at Microsoft.
Cloud first: Be prepared
02 | Design and implement database
Microsoft Ignite NZ October 2016 SKYCITY, Auckland
Upgrading to Microsoft SQL Server 2014
Oracle Storage Performance Studies
SQL On Azure Parikshit Savjani, Sr. Premier Field Engineer.
Multi-tenant architectures – from small scale to hyper-scale
SQL Storage Fundamentals for Azure IaaS
TechEd /11/2018 6:28 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
Bob Duffy 22 years in database sector, 250+ projects
Configuring SQL Server
Proving Hardware Bottlenecks &
Database Corruption Advanced Recovery Techniques
Microsoft Virtual Academy
SharePoint Framework (SPFx)
#SPScambridge Sandy ussia
SQL Server performance tuning on Azure IaaS
Performance tuning Tabular and PowerPivot models
Managing Content: You Need To Think About More Than Office 365
SQL Server performance tuning on Azure IaaS
Planning and Deploying PBIRS
Transaction Log Performance Tuning
Microsoft Virtual Academy
Bob Duffy 22 years in database sector, 250+ projects
Microsoft Virtual Academy
ZORAN BARAC DATA ARCHITECT at CIN7
SQLOpsStudio Vs SSMS - There can be only one
Hybrid Buffer Pool The Good, the Bad and the Ugly
The Database World of Azure
Presentation transcript:

SQL Storage Fundamentals for Azure IaaS Bob Duffy, MCA, MCM, MVP SQL Storage Fundamentals for Azure IaaS

Bob Duffy 22 years in database sector, 250+ projects SQL Server MCA, MCM, MVP SSAS Maestro Senior Data Platform Consultant with Microsoft 2005-2008 Database Architect at Prodata SQL Centre of Excellence http://blogs.prodata.ie/author/bob.aspx bob@Prodata.ie

Agenda Azure Storage Fundamentals Azure Throttling Optimising Storage Configuration Capacity Planning Storage Benchmarking

What is Azure Storage Takeaways: Dont worry about RAID 1+ Geo redundancy/replication Takeaways: Dont worry about RAID 1+ Dont do geo-replication for SQL IaaS Write penalty (expect WRITE_LOG) LRS ZRS GRS RA-GRS Total Copies 3 6 SLA 99.9% 99.99% read 99.9% write Warning: No write ordering on geo replication

Storage Choices for IaaS ? VHD on HDD VHD on SSD Direct to Blob Store Throughput MB/Sec 60 200 Max IOPS 500 5,000 Latency 10-40ms <5ms ??? Cost per TB/Month € 17.28 113.99 VM SLA None 99.9% CREATE DATABASE MyAzureDB ON ( NAME = MyAzureDBData, FILENAME = 'https://[url]/sqldata/azureData.mdf' ) LOG ON ( NAME = MyAzureLog, FILENAME = 'https://[url]/sqldata/azureLog.ldf') https://azure.microsoft.com/en-us/support/legal/sla/virtual-machines/v1_6/

VM Storage Limits (SSD)

SQL IO Characteristics (AVG IO Size) Workload Type IO Size Log Writes Sequential Up to 60k Checkpoint Random Up to 256k Table Scan 64-512K (on EE) Index Seek 8k 64k (read ahead) Backup 64k-4MB 500 iops @8k = 4MB/sec 500 iops @64k = 31MB/sec 500 iops @256= 125 MB/Sec 80,000 iops @ 64k = 5GB/Sec Conclusion – ignore iop limit on ssd vms and worry about throughput !

VM Throughput Limits DS-Series, ACU: 210-250 GS-Series, ACU: 180 - 240 Cores RAM VM “IOPS” Max MB/sec Effective IOPS@64k VM Cost €/Month 2 14 6,400 96 1,536 119 4 28 12,800 192 3,072 237 8 56 25,600 384 6,144 476 16 112 50,000 768 12,288 954 20 140 64,000 960 15,360 1,190 48 MB/Sec per core GS-Series, ACU: 180 - 240 2 28 5,000 125 2,000 439 4 56 10,000 250 4,000 878 8 112 20,000 500 8,000 1,757 16 224 40,000 1,000 16,000 3,514 32 448 80,000 32,000 6,267 (14,493 with EE) 62.5 MB/Sec per core €1.23 euro per MB/Sec https://docs.microsoft.com/en-us/azure/storage/storage-scalability-targets https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes-general

The Three Levels of Throttling STORAGE ACCOUNT 20,000 iops or 1,250 MB/Sec 4 Core VM 386 MB/Sec 8 Core VM 768 MB/Sec 32 Core VM 2,000 MB/Sec 1TB SSD 200 MB/Sec 1TB SSD 200 MB/Sec 1TB SSD 200 MB/Sec X 2 X 4 X 10 Also 10 Gbps https://docs.microsoft.com/en-us/azure/azure-subscription-service-limits#storage-limits

Managed Disks Eliminates limits of storage account ;-) P10 P20 P30 Bottleneck @64k Eliminates limits of storage account ;-) P10 P20 P30 P50 (new) Disk Size (GB) 128 512 1TB 4TB IOPS 500 2,300 5,000 7,5000 Throughput 100 150 200 250 Effective Throughput 8 143 Cost €/month 18 68 125 455 Cost € per MB/Sec 2.25 0.46 0.625 1.82 Cost € per TB 144 136 114 P10 is only 8 MB/Sec

An Example of designing storage for elasticity We need a 3TB SQL but want to “max” storage performance on an 8 core server and burst up to 20 core at night 8 Core VM 384 MB/Sec 1TB SSD 200 MB/Sec 1TB SSD 200 MB/Sec 1TB SSD 200 MB/Sec 600 MB/Sec 20 Core VM 960 MB/Sec 512GB SSD 150 MB/Sec X 6 = 900 MB/Sec

Storage Host Caching Discuss – why do not care so much about storage cache? Best Practise https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sql/virtual-machines-windows-sql-performance https://blogs.technet.microsoft.com/xiangwu/2017/05/14/azure-vm-storage-performance-and-throttling-demystify/

The Tempdb Debate The usual practices apply Pre-size and set growth on tempdb Use multiple files Only use T1117 and T1118 before SQL 2016 Tune to lower tempdb utilisation Should we use Local SSD – Maybe ;-) Side effect of permissions/startup issues Can reduce latency on write intensive tempdb Choose latency or throughput Only one local disk and limited size

Azure Portal Storage Configuration Wizard Advice: configure the disks yourself

Combing Disks with Storage Spaces Storage Pool Just a JBOD Collection of Disks SqlData Layout: simple (Mirror, Parity) Number of Columns 8= Number of physical disks per write (aka stripe) Interleave 256KB= Size of read/write to a disk (eg I/O Size) SqlLog Layout: Simple Columns=8 Interleave=64k Virtual Disks F:\ (SqlData), or mount point Format: 64k (4k default) L:\ (SqlLog) Format: 64k Volume

Example PowerShell Adding disks to VMs Creating storage spaces $diskConfig = New-AzureRmDiskConfig -AccountType $storageType -Location $location -CreateOption Empty -DiskSizeGB $diskSizeGB $vm = Add-AzureRmVMDataDisk -VM $vm -Name $myDiskName -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun $i Creating storage spaces New-StoragePool –FriendlyName SQLVMStoragePool2 –StorageSubsystemFriendlyName "Windows Storage*" -PhysicalDisks (Get-PhysicalDisk -CanPool $True) New-VirtualDisk -StoragePoolFriendlyName SQLVMStoragePool2 -FriendlyName SQLVMVirtualDisk2 ` -Interleave 256KB -NumberOfColumns 1 -UseMaximumSize -ResiliencySettingName simple

The Data and Log Debate Same Volume (Same disk and pool) \SqlData \SqlLog Data Log 2 Separate Volumes (Same disk and pool) Data Log 3. Separate Virtual Disks and Volumes (Different Interleave…) Data Log Data Log 4. Separate Pools, Disks and Volumes Data Log

The Magnificent Seven Capacity Planning Metrics Perfmon dm_io_virtual_file_stats IOPS Logical Disk\Reads/Sec Logical Disk\Writes/Sec Y OLTP, DW, Mixed Logical Disk\ Avg Disk Bytes/Read Kinda Throughput Logical Disk\Read Bytes/Sec Size of data, log, tempdb MSSQL$:Databases(x)\Data File Size (KB) MSSQL$:Databases(x)\Log File Size (KB) % of workload in temp Derived RW Ratio Latency Logical Disk\Avg Disk Secs/Read [sys].[dm_io_virtual_file_stats] https://sqlperformance.com/2013/10/t-sql-queries/io-latency

Capacity Planning Tools Tools to capture metrics Tools to analyse metrics https://pal.codeplex.com/ https://blogs.msdn.microsoft.com/analysisservices/2011/06/14/analyzing-performance-data-in-powerpivot/

Benchmarking Use diskspd.exe to validate throughput and or IOPS Consider making a IO saturation chart Run diskspd as ever increasing thread and outstanding IO If you are lazy use CrystalDiskMark http://blogs.prodata.ie/post/IOPS-Planning-for-SQL-Server-in-Azure-IaaS.aspx

8 Core single 1TB Disk

8 Core single 1TB Disk x 2

16 Core VM – 4 x 1TB disks

Lessons Learned Worry more about throughput than IOPS Choose your own disks to get target throughput Build your own disk pools in storage spaces Plan your VM Size based on capacity planning

Wish List for SQL IaaS in Azure SQL “Optimised VMs” Provisioned IOPS Provisioned RAM Smoother TempDB Configuration Better SQL Storage Configuration Wizard

SAY THANK YOU TO OUR SPONSORS!

Sponsor Raffle!!! Each sponsor stamp will opt you into their raffle prize and mailings Collect 9+ sponsor stamps on your Badge to be eligible for the Xbox Hand entire Badge/ ribbon back into registration desk at end of day We will draw Badges for prizes at 5pm in Cromwell (if you are drawn and do not have the pre-requisite stamp/s….. You lose!) SQLCloud: XBox One-S with Forza Horizon 3 Bundle; Amazon Fire TV with 4K Ultra HD; Raspberry Pi 3 Starter Kit; dbWatch: Apple iPad Mini; Skybow: Marshall Speaker; Coeo: A free place on any Coeo training course, RRP £600; Edison365: Helicopter ride (lunchtime session prize) and a Fire TV Stick; Pyramid Analytics: Amazon Echo; Quest: Samsung Gear S2 Smartwatch; DBPro/ SQLGovernor: Splash-proof JBL bluetooth speaker; Redgate: SQL Monitor License - with 12 months support and upgrades; Axioworks: Amazon Echo Dot; Idera: $100 Amazon card; Lightning Tools: Lego Technics Race Car; SQL Sentry: SQL Sentry license and 1 year of support (worth $2994); Locke Data: R for Data Science: Import, Tidy, Transform, Visualize, and Model Data; SharePoint Unite /BMM Media: A free pass to SharePoint Unite 2017 conference in Haarlem, Netherlands, on the 25th & 26th October. worth €699. travel and hotel not included; PASS: Recording (download) of all sessions from PASS Summit 2016

Social Make sure you tweet on #spscambridge or #sqlsatcambridge During the event we have Giant Jenga, Sack races and Conker Fights! After event, join us for a post event SharePint/ SQLPint from our bar Don’t forget to thank Sponsors, Volunteers and Speakers! The event will close at 6.30pm