This document provides an overview of hardware planning and sizing considerations for SQL Server. It discusses that performance is the typical requirement for relational database management systems. While high performance is expected, typical server hardware configurations often result in unbalanced systems that are not optimized. The document advocates for balanced systems with no single bottleneck. It provides guidance on evaluating CPU, memory, I/O capabilities and storage to ensure a system can handle peak resource consumption. Baseline testing is recommended to compare hardware performance.
3. 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
8. 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!?!?!?»
9. Balanced Systems
The only way to go is to have balanced
systems
Balanced:
pay and use everything
no single bottleneck
nothing more than what you can consume
10. Just wasting money
Unbalanced system is just a money black hole
Wasted money on
Licenses
Hardware
HW/Storage Consultants
DBA
SYS Admins
Developers
11. Performance Pillars
Database
Design
• Logical
• Physical
Server
Index
Query
Hardware
• Configuration
• Maintenance
• Definition
• Maintenance
• Evolution
• Good T-SQL
• Tuning
• No
bottlenecks
12. The (simplified) I/O full stack
SQL Server
Windows
CPU
Memory
I/O Controller
Disk
Array
Performance
13. Is that a good system?
40 Cores (80 with HT)
128 GB RAM
SAN with 2 TB of disk space
?
15. How to evaluate & balance a server
No easy way…but! How do you evaluate a car?
Put it on a standard test track
Measure peak performance
Measure peak resource consumption
Declare results
Compare results
16. 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 your
Compare it against other cars
17. Use published data
Let’s do some math with published or wellknown values
TPC Benchmarks
Let’s start to evaluate a Data Warehouse since
is much more simpler than a OLTP system
18. 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 that
throughput?
19. Memory
Memory usually has a very high bandwidth
A DDR3 Memory Pair can provide
10GB/Sec
No problems here
20. PCI-X o PCIe BUS
PCI-X v1
X4 slot: 750 MB/sec
PCI-X v2
X4 slot: 1.5 – 1.8GB/sec
22. Storage: Spindles
A «classic» HDD (a «spindle») the following
numbers:
Sequential IO
90MB/sec to 125MB/sec for a single drive
Random IO usually much lower
SQL Server tries to convert rnd to seq
24. Storage: DAS
Standards: (SCSI), SAS, SATA
Typically Integrated controller on the server
PCI Direct Access
Host-Bus Adapter (HBA) may or may be used
32. Performance Baselining: System
Use TPC Databases and tools to measure
performance and compare different systems
www.tpc.org
OLTP
TPC-C & TPC-E
DW/BI/DSS
TPC-H & TPC-DS
33. 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
34. OLTP Workload Type Notes
Mainly random read / writes
Depending how much “pure” OLTP is
Read-Head are sequential
Optimize for Random I/O
Spindle count
IOPS & Latency is the key measure
35. 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
36. SSAS Workload Type Notes
Up to 64KB random reads, (Avg. 32KB)
Highly random and often fragmented data
Optimize for Random, 32KB blocks
IOPS & Latency is the key measure
37. 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
38. Parallel Data Warehouse
Massively Parallel Processing (MPP)
Architecture
Basically several Fast Track all together
Query is split and executed across all nodes