Squeezing The Most Performance from your VMware-based SQL Server



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

One of the database administrators

VMware vsphere 5.1 Advanced Administration

VMware vsphere 5.0 Boot Camp

Squeezing Top Performance from your Virtualized SQL Server

Getting the Most Out of Virtualization of Your Progress OpenEdge Environment. Libor Laubacher Principal Technical Support Engineer 8.10.

SQL Server High Availability: After Virtualization SQL PASS Virtualization Virtual Chapter September 11, 2013

Getting Even More Out of OpenEdge in a Virtualized Environment

Database Virtualization

Technical Paper. Moving SAS Applications from a Physical to a Virtual VMware Environment

VMware vsphere 4.1 with ESXi and vcenter

SQL Server Virtualization 101. David Klee, Group Principal and Practice Lead. SQL PASS Virtualization VC,

SOLIDWORKS Enterprise PDM - Troubleshooting Tools

Performance Characteristics of VMFS and RDM VMware ESX Server 3.0.1

Avoiding Performance Bottlenecks in Hyper-V

Using Iometer to Show Acceleration Benefits for VMware vsphere 5.5 with FlashSoft Software 3.7

SQL Server Performance Tuning and Optimization

VirtualCenter Database Performance for Microsoft SQL Server 2005 VirtualCenter 2.5

VMWARE VSPHERE 5.0 WITH ESXI AND VCENTER

Microsoft SQL Server: MS Performance Tuning and Optimization Digital

Monitoring Databases on VMware

Storage and SQL Server capacity planning and configuration (SharePoint...

VI Performance Monitoring

About Me: Brent Ozar. Perfmon and Profiler 101

Deploying Microsoft Exchange Server 2007 mailbox roles on VMware Infrastructure 3 using HP ProLiant servers and HP StorageWorks

Architecting Microsoft SQL Server on VMware vsphere M A R C H

WHITE PAPER Optimizing Virtual Platform Disk Performance

XenDesktop 7 Database Sizing

Advanced VMware Training

Virtualizing Microsoft SQL Server on Dell XC Series Web-scale Converged Appliances Powered by Nutanix Software. Dell XC Series Tech Note

Mind Q Systems Private Limited

Deploying and Optimizing SQL Server for Virtual Machines

Reference Architecture for a Virtualized SharePoint 2010 Document Management Solution A Dell Technical White Paper

Accelerate SQL Server 2014 AlwaysOn Availability Groups with Seagate. Nytro Flash Accelerator Cards

Administering Microsoft SQL Server 2012 Databases

Chapter 14 Virtual Machines

Scaling in a Hypervisor Environment

The Database is Slow

Vmware Training. Introduction

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

Performance And Scalability In Oracle9i And SQL Server 2000

SQL Server 2012 Database Administration With AlwaysOn & Clustering Techniques

Virtual SAN Design and Deployment Guide

Mark Bennett. Search and the Virtual Machine

VirtualclientTechnology 2011 July

Performance of Virtualized SQL Server Based VMware vcenter Database

Best Practices for Virtualised SharePoint

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

Merge Healthcare Virtualization

SQL Server on VMware Best Practices Guide

Microsoft Exchange Solutions on VMware

Perfmon Collection Setup Instructions for Windows Server 2008+

Troubleshooting SQL Server Enterprise Geodatabase Performance Issues. Matthew Ziebarth and Ben Lin

Availability for your modern datacenter

Microsoft SharePoint 2010 on HP ProLiant DL380p Gen8 servers

SQL Server 2012 Optimization, Performance Tuning and Troubleshooting

Hardware Performance Optimization and Tuning. Presenter: Tom Arakelian Assistant: Guy Ingalls

Red Hat enterprise virtualization 3.0 feature comparison

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

Mastering. Hyper-V" Deployment. Aidan Finn. Patrick Lownds

VMware vsphere 6 Nyheter

The 5-minute SQL Server Health Check

HP ProLiant BL660c Gen9 and Microsoft SQL Server 2014 technical brief

Virtualizing Microsoft SQL Server 2008 on the Hitachi Adaptable Modular Storage 2000 Family Using Microsoft Hyper-V

vsphere Monitoring and Performance

A Comparison of VMware and {Virtual Server}

VMware vcenter 4.0 Database Performance for Microsoft SQL Server 2008

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

VMware Certified Professional 5 Data Center Virtualization (VCP5-DCV) Exam

MICROSOFT SHAREPOINT SERVER: BEST PRACTICES AND DESIGN GUIDELINES FOR EMC STORAGE

ClearPath MCP Software Series Compatibility Guide

SQL Server Virtualization

Index C, D. Background Intelligent Transfer Service (BITS), 174, 191

Maximizing SQL Server Virtualization Performance

Perfmon counters for Enterprise MOSS

Limitations of Managing VMware vsphere with MS System Center Virtual Machine Manager 2012

MS 20465C: Designing a Data Solution with Microsoft SQL Server

MICROSOFT HYPER-V SCALABILITY WITH EMC SYMMETRIX VMAX

RED HAT ENTERPRISE VIRTUALIZATION FOR SERVERS: COMPETITIVE FEATURES

VMware vsphere-6.0 Administration Training

Using VMware VMotion with Oracle Database and EMC CLARiiON Storage Systems

9/26/2011. What is Virtualization? What are the different types of virtualization.

Professional SQL Server 2012 Internals and Troubleshooting

Load Testing Analysis Services Gerhard Brückl

Managing Capacity Using VMware vcenter CapacityIQ TECHNICAL WHITE PAPER

Introduction. Part I: Finding Bottlenecks when Something s Wrong. Chapter 1: Performance Tuning 3

Diablo and VMware TM powering SQL Server TM in Virtual SAN TM. A Diablo Technologies Whitepaper. May 2015

Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines

RUNNING vtvax FOR WINDOWS

VMware vrealize Configuration Manager Advanced Installation Guide vrealize Configuration Manager 5.8

Performance Tuning and Optimizing SQL Databases 2016

Delivering SDS simplicity and extreme performance

Virtualizing Microsoft SQL Server 2008 Using VMware vsphere 4 on the Hitachi Adaptable Modular Storage 2000 Family

vsphere Performance Best Practices

Choices for implementing SMB 3 on non Windows Servers Dilip Naik HvNAS Pty Ltd Australians good at NAS protocols!

Atlantis USX Hyper- Converged Solution for Microsoft SQL 2014

VMware vsphere: Fast Track [V5.0]

Transcription:

Squeezing The Most Performance from your VMware-based SQL Server PASS Virtualization Virtual Chapter February 13, 2013 David Klee Solutions Architect (@kleegeek)

About HoB Founded in 1998 Partner-Focused Strategy House of Brick Key Services Virtualization and Cloud Computing VBCA Replatforming and Data Migration Managed Services

About David David Klee Twitter: @kleegeek Blog: davidklee.net G+: gplus.to/kleegeek SQL Server on VMware practice lead Experience in Microsoft, VMware, Linux, networking, security, application development technologies

Agenda So you finally virtualized! Great! Now what? Do you know how well things were running when physical? VMware Infrastructure Tuning SQL Server VM Template Tuning Demonstrating Equivalent Performance Ongoing Steady-State Performance Monitoring

Assumptions The following tips and tricks are geared for single instance SQL Server on VMware. 2005+ Database Mirroring and 2012 AlwaysOn also follow these configuration guidelines. SQL Server Failover Clustering uses a somewhat different set of rules.

In The Beginning In the beginning of your virtualization journey Me: Did you performance test and compare against your established historical baselines to objectively demonstrate equivalent performance of the virtual machine? Common Response: Yeah, right. Sure. Uh-huh. http://www.flickr.com/photos/raggle/3617884814/

Virtualized SQL Server Origin

Getting Started - Benchmarking Must know how to benchmark so you can establish baselines Repeatable process to get point in time performance metrics Benchmarks affect the speed of the system during the test! What changes between tests / iterations? What to benchmark? Subsystem speed Objective SQL Server instance speed Known process / job performance and runtimes Query runtimes / impact Application performance Baseline = Averages and peaks during routine activities

Benchmark - Storage Storage performance is my number one obstacle SQLIO (http://tools.davidklee.net Results Analyzer)

Benchmark Perfmon Stats Record every 5m, cycle log files nightly Collect all individual stats, not rollups Counters: Memory Pages/sec, Available Mbytes, Pages / sec, Page Faults / sec Network Interface Bytes total/sec Physical Disk Disk Transfers/sec, Disk Read Bytes/sec and Disk Write Bytes/sec Processor - % Processor Time, Utilization By Core SQLServer:Access Methods - Full Scans/sec SQLServer:Buffer Manager Buffer Cache Hit Ratio SQLServer:Databases Application Database - Transactions/sec SQLServer:General Statistics - User Connections SQLServer:Latches Average Latch Wait Time SQLServer:Locks - Average Wait Time, Lock Timeouts/sec, Number of Deadlocks/sec SQLServer:Memory Manager - Memory Grants Pending

Benchmark SQL Server Instance DVDStore http://linux.dell.com/dvdstore

Benchmark DB Performance Every environment is different! Reports / Jobs / Etc. Average Runtimes Query Performance CPU Impact Memory Impact Storage Impact TempDB Impact Application owners should be involved in benchmarking process Tools Perfmon Extended Events Simple things: Set statistics io on/off Set statistics time on/ off

VMware Hardware Configuration Disable BIOS green settings (power savings, etc.) Ensure CPUs are set to high performance mode Enable virtualization extensions (i.e. Intel VT-x) Disable Automatic Server Recovery (HP) Enable Hyper-Threading (Intel) Multiple paths for everything (NIC, SAN, etc.)

VMware Cluster Configuration VMware High Availability (HA) VMware Distributed Resource Scheduler (DRS) Automation Levels Rules

VMware Storage Paravirtual (PVSCSI) Driver Multipathing Drivers EMC PowerPath VE Equallogic MPIO 8000 7000 6000 Storage Driver Improvements 250 200 Set multipathing policy per datastore to RR 5000 4000 150 IO/s SQLIO % 3000 100 MB/s 2000 50 1000 0 LSI (base) PVSCSI EQL MPIO 0

VMware vcpu Ready Time vcpu Ready Time 300ms average 500ms high water mark CPU measures the amount of time a virtual machine waits in the queue in a ready-to-run state before it can be scheduled on a CPU. Higher wait times result in slower virtual machine performance.

SQL Server VM Template - Basic Object separation can optimize: Performance Disaster recovery Backup Flexibility Drives: C: - OS D: - Instance Home E: - System DBs F: - User Data G: - User Logs H: - TempDB Z: - Backups Thick provisioned eager zeroed PVSCSI for non-os drives

Full RAM reservations for production Tier-1 workloads Do NOT oversubscribe Do NOT over-allocate host RAM VM Template - vmemory No ballooning allowed! (Don t disable balloon driver)

VM Template - Advanced Balance vcpu vcores / vsockets with physical architecture Configure vnuma settings when < 8vCPUs http://bit.ly/13hkob2 Set vcenter Alarms for high CPU Ready time http://bit.ly/xendku Resource Pools to ensure top-tier resource availability Want to really geek out? (Do not change these without reason) http://bit.ly/r726wc - VMware Tuning for Latency Sensitive Workloads http://www.flickr.com/photos/hyperxp/7698784450/

Right-Sizing VM Resource Allocation Physical Server Configuration!= VM Resource Allocations More vcpus than needed actually slows down the VM More VM management overhead for more resources allocated http://bit.ly/ 12Gtfe9 Threads MaxDOP 8 vcpus 32 vcpus 2 1 19277 13589 2 2 19251 17858 2 4 15839 15640 2 6 16263 16055 8 1 76590 63910 8 2 76592 70705 8 4 57508 61412 8 5 55021 61579 8 6 56859 61151 16 1 152782 135484 16 2 151462 140577 16 4 86078 112365 16 6 84634 101230 32 1 298444 274629 32 2 291692 278024 32 4 108952 147444 32 6 106140 124293 64 1 487146 542351 64 2 429131 532679 64 4 113664 153877 64 6 117480 127634 DVDStore 8vCPU vs 32vCPU Small workload

Configuring Windows for SQL Server VMware Tools installed and up to date WDDM video driver update http://bit.ly/9muzd7 64KB NTFS allocation unit for non-os volumes http://bit.ly/hwtxia Ensure proper disk alignment No fancy partition creation tools! Antivirus engine rules http://bit.ly/b5qie Windows Power Options set to High Performance

Configuring a SQL Server Instance Enable Lock Pages in Memory (weigh pros and cons) Set Max Server Memory and Min Server Memory http://bit.ly/wvbtft Enable Instant File Initialization http://bit.ly/x0kj0y Use Large Pages Trace Flag 834 (YMMV) Full VM RAM Reservation Enable Optimize for Ad-hoc Workloads Set TempDB data file count Set MaxDOP and Cost Threshold for Parallelism

Proper Maintenance Proper Maintenance is a Must! Fantastic database maintenance solution ola.hallengren.com Backups Indexes / Statistics Integrity Checks Work / log file cleanup Quarterly Windows and SQL Server patches at a minimum! http://www.flickr.com/photos/25080113@n06/4758038882/

VMware Template Install your usual suite of programs and tools before you template Once done with your master server build, convert the VM to a VMware Template Patch periodically Use Windows Guest Customization Specification to: Set machine name properly Sysprep and set Windows product key Configure network settings Join to domain exec sp_dropserver 'OldserverName' go exec sp_addserver 'NewServerName', 'LOCAL' go Execute command(s) and/or script(s) post deployment http://sqlspade.codeplex.com When you deploy SQL Server for production purposes, use Thick Provisioned Eager Zeroed VMDK format

Monitoring Performance Perfmon / IOMeter / SQLIO / DVDStore SQL Server health checks sqlserverperformance.wordpress.com brentozar.com/blitz Benchmark and compare to baselines (physical and virtual) Remember to update your baselines when the configuration changes! No double standards, just more information vcenter Statistics access - http://bit.ly/szgaid

Conclusions Anyone can install SQL Server (click Next, Next, Finish). Not everyone can squeeze the most out of SQL Server, but now you can. You also now have the means to demonstrate the performance improvements. You can also use these to objectively demonstrate the performance differences between physical and virtual. Use these tips to ensure that your SQL Servers run as fast as possible, and that you can prove it whenever required.

Questions

HoB Contacts Jim Ogborn (West & South) VP, Client Solutions jogborn@houseofbrick.com 402-445-0764, ext 104 Jon Shields (Central) Director, Account Solutions David Klee Solutions Architect Twitter: @kleegeek dklee@houseofbrick.com 402-445-0764, ext 133 jshields@houseofbrick.com 847-507-1693 KC Alvano (East) Director, Account Solutions kcalvano@houseofbrick.com 703-395-3138