Hardware planning & sizing for sql server

Post on 25-Dec-2014

5.954 views 2 download

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...

Transcript of Hardware planning & sizing for sql server

Hardware Planning & Sizing for SQL Server Davide Mauridmauri@solidq.com

Sponsor & Media Partners

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

What’s the typical RDBMS requirement?

Performance!

Requirements

Expectations

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

F1 Car!

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

(Fast)Truck!

Expectations

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

…Something Else…

Reality

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!?!?!?»

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

Unbalanced system is just a money black hole

Wasted money onLicensesHardwareHW/Storage ConsultantsDBASYS AdminsDevelopers

Just wasting money

Performance Pillars

Database Design• Logical• Physical

Server• Configuration

• Maintenance

Index• Definition• Maintenance

• Evolution

Query• Good T-SQL• Tuning

Hardware• No bottlenecks

The (simplified) I/O full stack

SQL Server

WindowsCPU

Memory

I/O Controller

Disk Array

Performance

Is that a good system?

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

?

Answer

My feeling?

Not really.

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

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

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

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

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?

Memory

Memory usually has a very high bandwidth

A DDR3 Memory Pair can provide 10GB/Sec

No problems here

PCI-X o PCIe BUS

PCI-X v1X4 slot: 750 MB/sec

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

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

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

Storage: Interconnection

How are your drives connected to the server?

DAS: Direct Attached Storage

SAN: Storage Area Network

Storage: DAS

Standards: (SCSI), SAS, SATA

Typically Integrated controller on the server

PCI Direct Access

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

Storage: SAN

Host-Bus Adapter (HBA)

FC Switch

Cache

Storage Processor

Storage: SAN – The Numbers

4Gbit FC = 400MB/sec

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

standard)

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

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

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

Was it all worth it?

Performance Baselining: Storage

SQLIOFree tool to measure IO from

Microsoft

IOMeterFree, open source, tool

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

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

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

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

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

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

Parallel Data Warehouse

Massively Parallel Processing (MPP) Architecture

Basically several Fast Track all together

Query is split and executed across all nodes

Parallel Data Warehouse

OLTP Appliance

Unfortunately missing in action…

Generalization much more complex than DWH

HP, IBM & DELL have specific whitepapers

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

THANKS!