IntegratIng VIrtualIzed serVers wIth VMware vstorage–enabled ...
Scaling Up and Out your Virtualized SQL Servers
-
Upload
heraflux -
Category
Data & Analytics
-
view
167 -
download
2
Transcript of Scaling Up and Out your Virtualized SQL Servers
Scaling Up and Out Your Virtualized
SQL Servers
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
About Ben DeBow• Partner - SQLHA• Working with SQL Server for 20 years• Author, speaker, and consultant focusing on Performance,
Scalability, and Availability
[email protected] @BBQSQL sqlha.com
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
About David Klee
#devconnections
@kleegeekdavidklee.netgplus.to/kleegeeklinked.com/a/davidaklee
Specialties / Focus Areas / Passions:
• Performance Tuning• Virtualization• Infrastructure• Troubleshooting
• High Availability• Disaster Recovery• Capacity Management• Health & Efficiency
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Agenda• Scale Out vs. Scale Up• Scale In• “Right-Sizing”• Efficiency• Workload characteristics
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Scalability• Scale up = vertical scaling• Vertical scaling = single instance faster• Horizontal– Data dependent routing– Read Only Replicas– Peer to Peer Replication
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Scale Out vs. Scale Up• Age-old problem• One server to thousands• Now introduce virtualization
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Scale Up
PROS• Single system / app
distribution• Faster & quicker
CONS• Single server bottlenecks• Scalability limits• Internal SQL Server
contention• More expensive
hardware
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Scale Out
PROS• Separation of
workloads• Smaller VMs• More agile VMs• Load balance• Outages impact less
CONS• Licensing• Management• Day-to-day operations• Complexity
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Scale IN First• Efficiency, health, and bottleneck
analysis• Limited upsides to more hardware• Performance gains without more
resources
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Bottleneck Analysis• Underneath the VM• VM config and placement• SQL Server instance• SQL Server database• Determine tipping points
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Bottleneck Example - Storage
#devconnections
ControllerController
ControllerController
LUNLUN
LUNLUN
LUNLUN
LUNLUN
Disk PoolDisk Pool
VM
VM
VM
VM
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
VM Configuration• Start with gold certified template• Adjust resources• One size does not fit all
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
“Right-Sizing”• What? How?• Resource allocations–What is needed now
• Type of workload• vNUMA
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Leverage VM Infrastructure• VM proximity
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Leverage VM Infrastructure• Transparent SSD read / write caching– Per vDisk
#devconnections
SSD
SANSAN
LUNLUN
LUNLUN
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Priority Tiers• Mission-critical production vs.
everything else• Tier / prioritize resource queues• Separation of tiers
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Add Hardware• Faster CPUs / more cores• More RAM• Faster storage (IOps / latency)• Faster / more interconnects– Storage fabric– Networking
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Efficiency - Concurrency• Locking & blocking• Read Committed Snapshot Isolation• Asynchronous handling– Service Broker– SSIS– PoSH
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Efficiency - Code Review• Schema design• Strongly typed data types• Queries & procedures• App data handling• …. And the list continues forever…
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Efficiency - CPU• Cores & schedulers• Hyper-Threading• vNUMA
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
CPU Sizing – vNUMA Results31% Improvement
31% Improvement
• Example: 16 vCPU VM• What’s better?
• 2 vSocket x 8 vCore?• 4 vSocket x 4 vCore?• 8 vSocket x 2 vCore?
• Varies by workload, hardware
• Test it for yourself!
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Efficiency - Memory• Use memory to reduce I/O• Use less memory with better efficiency• Schema & index strategies• Data & index compression• Buffer pool extensions
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Efficiency - Storage• Goal: reduce I/O consumption• Better distribution of workload– Tables– Data Files – File groups– Partitions
#devconnections
Virtual disksPathsControllersLUNs
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
#devconnections
SAN
DB
E:
FG1
FG2
DF4
DF3
DF2
DF1
G:
F:
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Efficiency - Storage• Data / index compression• Indexing strategies• Datatype analysis• In-memory constructs• Buffer pool extensions
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Segregating Workloads• One VM per purpose• Offload read-only activities– Availability Groups– Replication– Backups
• Sharding / data dependent routing#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Workload Characteristics• Monitoring• Workload performance stat collection– At all layers
• Aggregation by host & cluster• Analysis
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Ongoing Review• Routine “right-sizing” analysis• Capacity analysis & planning• Baselines• What to capture and analyze?
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
Conclusions• Efficient virtualization• Workload characterization• Bottleneck relief• Long-term management
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
QUESTIONS?
#devconnections
SCALING UP AND OUT YOUR VIRTUALIZED SQL SERVERS
THANK YOU!
#devconnections
SESSION TITLE
#devconnections
Rate This Session Now!Rate with Mobile App:1. Select the session from the
Agenda or Speakers menus
2. Select the Actions tab
3. Click Rate Session
Rate Using Our Website:1. Register at www.devconnections.com/logintoratesession
2. Go to www.devconnections.com/ratesession
3. Select this session from the list and rate it
Tell Us What
You Thought
of This Session
Be Entered to
WINPrizes!