Download - Hardware planning & sizing for sql server

Transcript
Page 1: Hardware planning & sizing for sql server

Hardware Planning & Sizing for SQL Server Davide [email protected]

Page 2: Hardware planning & sizing for sql server

Sponsor & Media Partners

Page 3: Hardware planning & sizing for sql server

Davide Mauri

18 Years of experience on the SQL Server Platform Specialized in Data Solution Architecture,

Database Design, Performance Tuning, Business Intelligence

Projects, Consulting, Mentoring & Training Regular Speaker @ SQL Server events Microsoft SQL Server MVP President of UGISS (Italian SQL Server UG) Mentor @ SolidQ

Page 4: Hardware planning & sizing for sql server

What’s the typical RDBMS requirement?

Performance!

Requirements

Page 5: Hardware planning & sizing for sql server

Expectations

So you would expect an OLTP server to be like a…

F1 Car!

Page 6: Hardware planning & sizing for sql server

Or, if you’re into Business Intelligence, you would expect a great

(Fast)Truck!

Expectations

Page 7: Hardware planning & sizing for sql server

Let’s do a reality check. Typical servers are…

…Something Else…

Reality

Page 8: Hardware planning & sizing for sql server

Why this happens?

Huge misunderstanding on hardware features…

«System is slow, we need an upgrade to improve performance»«Here’s 2 TB of more space»«WTF!?!?!?»

Page 9: Hardware planning & sizing for sql server

The only way to go is to have balanced systems

Balanced:pay and use everythingno single bottlenecknothing more than what you can

consume

Balanced Systems

Page 10: Hardware planning & sizing for sql server

Unbalanced system is just a money black hole

Wasted money onLicensesHardwareHW/Storage ConsultantsDBASYS AdminsDevelopers

Just wasting money

Page 11: Hardware planning & sizing for sql server

Performance Pillars

Database Design• Logical• Physical

Server• Configuration

• Maintenance

Index• Definition• Maintenance

• Evolution

Query• Good T-SQL• Tuning

Hardware• No bottlenecks

Page 12: Hardware planning & sizing for sql server

The (simplified) I/O full stack

SQL Server

WindowsCPU

Memory

I/O Controller

Disk Array

Performance

Page 13: Hardware planning & sizing for sql server

Is that a good system?

40 Cores (80 with HT)128 GB RAMSAN with 2 TB of disk space

?

Page 14: Hardware planning & sizing for sql server

Answer

My feeling?

Not really.

Some important data is missing.How many disks?How the SAN is connected to the

server?

Page 15: Hardware planning & sizing for sql server

How to evaluate & balance a server

No easy way…but! How do you evaluate a car?

Put it on a standard test trackMeasure peak performanceMeasure peak resource consumptionDeclare resultsCompare results

Page 16: Hardware planning & sizing for sql server

How to evaluate & balance a server

Of course you’ll never get the declared values in real-life usage

Still they are a good way to Understand if that car is good for yourCompare it against other cars

Page 17: Hardware planning & sizing for sql server

Use published data

Let’s do some math with published or well-known values

TPC Benchmarks

Let’s start to evaluate a Data Warehouse since is much more simpler than a OLTP system

Page 18: Hardware planning & sizing for sql server

CPU

A minimum of 300MB/s of Maximum Consumption Rate per core

For today’s CPUs

A four core processor is able to consume 1.2GB/sec of raw data

Is your system able to give thatthroughput?

Page 19: Hardware planning & sizing for sql server

Memory

Memory usually has a very high bandwidth

A DDR3 Memory Pair can provide 10GB/Sec

No problems here

Page 20: Hardware planning & sizing for sql server

PCI-X o PCIe BUS

PCI-X v1X4 slot: 750 MB/sec

PCI-X v2 X4 slot: 1.5 – 1.8GB/sec

Page 21: Hardware planning & sizing for sql server

PCI-X o PCIe BUS

PCIe (per lane)v1.x: 250 MB/s v2.x: 500 MB/s v3.0: 985 MB/s v4.0: 1969 MB/s

PCIe v2.0 x168 GB/sec

Page 22: Hardware planning & sizing for sql server

Storage: Spindles

A «classic» HDD (a «spindle») the following numbers:

Sequential IO90MB/sec to 125MB/sec for a single

drive

Random IO usually much lowerSQL Server tries to convert rnd to seq

Page 23: Hardware planning & sizing for sql server

Storage: Interconnection

How are your drives connected to the server?

DAS: Direct Attached Storage

SAN: Storage Area Network

Page 24: Hardware planning & sizing for sql server

Storage: DAS

Standards: (SCSI), SAS, SATA

Typically Integrated controller on the server

PCI Direct Access

Host-Bus Adapter (HBA) may or may be used

Page 25: Hardware planning & sizing for sql server

Storage: SAN

Host-Bus Adapter (HBA)

FC Switch

Cache

Storage Processor

Page 26: Hardware planning & sizing for sql server

Storage: SAN – The Numbers

4Gbit FC = 400MB/sec

8Gbit FC = 800MB/SecPCI-x4 or faster needed!(Anyway PCIe is becoming the

standard)

Page 27: Hardware planning & sizing for sql server

Building the server

4 x 8-Core CPU 4 * 8 * 300 MB/Sec = 9600 Mb/Sec =

~10Gb/Sec

12 x 8Gbit FC HBA 12 * 800 MB/Sec = 9600Mb/Sec =

~10Gb/Sec

64 x 15K RPM Discs 64 * 150MB/Sec = 9600 Mb/Sec =

~10Gb/Sec

Page 28: Hardware planning & sizing for sql server

Building the server

SAN & PCIe Slots # Vary depending on model Eg: SAN supports 16Gbit:

6 SAN 12 PCIe 8x

RAM As much as you can

Page 29: Hardware planning & sizing for sql server

Database File Placing

FILEGROUP

SAN 1

LUN 1

DataFile1.ndf

LUN 2

DataFile2.ndf

SAN 2

LUN 3

DataFile3.ndf

LUN 4

DataFile4.ndf

SAN «n»

LUN «n»

DataFileN.ndf

Page 30: Hardware planning & sizing for sql server

Was it all worth it?

Page 31: Hardware planning & sizing for sql server

Performance Baselining: Storage

SQLIOFree tool to measure IO from

Microsoft

IOMeterFree, open source, tool

Page 32: Hardware planning & sizing for sql server

Performance Baselining: System

Use TPC Databases and tools to measure performance and compare different systems

www.tpc.org

OLTPTPC-C & TPC-E

DW/BI/DSSTPC-H & TPC-DS

Page 33: Hardware planning & sizing for sql server

Is that all?

It’s ALL about hardware!

Just keep in mind that it’s only a part of the game Remember to measure latency

(continuously!) Use SQL Server DMVS to monitor Wait Stats Use H/W monitoring tools

Page 34: Hardware planning & sizing for sql server

OLTP Workload Type Notes

Mainly random read / writes

Depending how much “pure” OLTP isRead-Head are sequential

Optimize for Random I/O Spindle count

IOPS & Latency is the key measure

Page 35: Hardware planning & sizing for sql server

DW Workload Type Notes

64-512KB reads

table and range scan

128-256KB writes

bulk load

Optimize for high aggregate throughput I/O

MB/Sec is the value to monitor

Page 36: Hardware planning & sizing for sql server

SSAS Workload Type Notes

Up to 64KB random reads, (Avg. 32KB)

Highly random and often fragmented data

Optimize for Random, 32KB blocksIOPS & Latency is the key measure

Page 37: Hardware planning & sizing for sql server

Fast Track Data Warehouse

Reference architecture

Guide to create a balanced system optimized for DW workload

Large Scans of Data

IBM, HP & DELL provides hardware

Page 38: Hardware planning & sizing for sql server

Parallel Data Warehouse

Massively Parallel Processing (MPP) Architecture

Basically several Fast Track all together

Query is split and executed across all nodes

Page 39: Hardware planning & sizing for sql server

Parallel Data Warehouse

Page 40: Hardware planning & sizing for sql server

OLTP Appliance

Unfortunately missing in action…

Generalization much more complex than DWH

HP, IBM & DELL have specific whitepapers

Page 41: Hardware planning & sizing for sql server

OLTP Appliance

Microsoft® SQL Server® 2012 OLTP Workload Benefits Using IBM® XIV® Storage System Gen3 SSD Cache

Achieving a High Performance OLTP Database using SQL Server® and Dell™ PowerEdge™ R720 with Internal PCIe SSD Storage

Page 43: Hardware planning & sizing for sql server

THANKS!