160 likes | 269 Views
Resource Advisor for SQL Server Automating DBMS performance prediction. Dushyanth Narayanan, Paul Barham, Eno Thereska, Anastassia Ailamaki. What and why. Live system monitoring Lightweight, end-to-end tracing Workload agnostic Automated analysis Answering “what-if” questions Visualization
E N D
Resource Advisor for SQL ServerAutomating DBMS performance prediction Dushyanth Narayanan, Paul Barham, Eno Thereska, Anastassia Ailamaki
What and why • Live system monitoring • Lightweight, end-to-end tracing • Workload agnostic • Automated analysis • Answering “what-if” questions • Visualization • To aid DB admins • Resource upgrade decisions • Identify limiting resource • Memory, disk, CPU, locks, …
Outline • Instrumentation • Where, how, and how much • Initial Results • “What if” I bought more memory? • Current status • Papers, patents, etc. • Future work • Storage, CPU, locking, … • Adaptive query optimizer
Instrumentation • Resource usage / multiplex points • E.g. buffer touch, transaction start, … • Source-level • Private copy from SQL Server tree • Function call interface • Automatically generated stubs • Minimally invasive • Lightweight, non-blocking ETW events • 189 lines modified in 6 files
Resource models • Buffer manager • page reference trace, allocations • cache simulator • Disk • analytic model: single spindle, random access • disk params, Q length service time • queue length from throughput, #users • CPU scaling • by clock speed, SPECint, …
Outline • Instrumentation • Where, how, and how much • Initial Results • “What if” I bought more memory? • Current status • Papers, patents, etc. • Future work • Storage, CPU, locking, … • Adaptive query optimizer
Status • Submitted to MASCOTS • Patent filed • “Predicting database system performance” • White paper for SQL Server • Tracing recommendations • Potential tech transfer to Indy • Collaboration with CMU (ongoing)
Future Work • Simulation of transaction control flow • avoid limitations of analytic approach • Storage model [with Thereska, Ganger @ CMU] • random + sequential mix, RAID, … • Locking • what happens as #users increases? • Making commit order deterministic • simulate the performance impact • Resource feedback for query optimizer • Feedback-driven cohort scheduling
End-to-end visualization • Detailed, per-request information