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

Hardware planning & sizing for sql server

Embed Size (px)

DESCRIPTION

Purchasing a dedicated server to SQL Server is still a necessary operation. The cloud is a great choice but if you need to create a data warehouse of non-trivial size or if you have the need for optimal performance and control of your production database server, the choice of on-premise server is still an optimal choice. So, how not to throw away money on unnecessary hardware? In this session we will see how each component works together to form a balanced hardware (this is the key word!), without bottlenecks, maximizing the investment made. We'll talk about SAN, CPU, HBA, Fibre Channel, Memory and everything you thought you knew well...

Citation preview

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!