hardware planning & sizing for sql server
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
Hardware Planning & Sizing for SQL Server Davide [email protected]
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
OLTP Appliance
HP Reference Architecture for High Performance SQL Server
THANKS!