2. About Me: Brent Ozar SQL Server Expert for Quest Software Former SQL DBA Managed >80tb SAN, VMware Dot-com-crash experience Specializes in performance tuning
3. Today’s Agenda The Civic & Godzilla Metrics, Trace, Mitigations Taking Before and After Pictures Helpful Tools Sample Scenarios Resources and Q&A
4. If You Don’t Need to Go Fast… Photo Licensed With Creative Commons From http://flickr.com/photos/stevekeys/2755142278/
12. Capture Metrics With Perfmon Performance Monitor, aka Perfmon Ships with all Windows versions Polls any server from your desktop Pulls performance metrics Writes them to a file Requires some OS permissions Does not include alerts or analytics
21. What To Look For, In Order System – Processor Queue Length Memory – Available Mbytes Lock pages in memory!
22. What To Look For Next Disk metrics on the page file drive Disk metrics on the log file drive Disk metrics on the data file drive Disk metrics on the TempDB drive
23. Got Everything on One Drive? Narrow it down with the DMV sys.dm_io_virtual_file_stats
25. Columns to Capture What’s Going On Text Data DatabaseID and/or DatabaseName Login Name Host Name Application Name What The Impact Was CPU Reads Writes Duration Start Time End Time
32. Consistent and Repeatable 100 users accessing the web site Closing a typical financial period 10 users running a report Importing 100,000 records for a nightly ETL process Think scripts, think load generation tool Capture statistics during test run
33. When To Take A Picture Before Adding new hardware Installing a SQL Server service pack Changing storage configurations New application versions Every quarter After
34. Plus Monitoring For… Before Things break Populations change over time Budgeting Need to enforce standards We’re not the only ones working on the house After
35. Save Perfmon & Profiler Data Central file share Even better: in a database Name by server, by date Revisit every budget season Use for new hire training
43. Sample Problem #1 Metrics tell us: Very high disk queue lengths on data drive Trace tells us: Report queries doing table scans w/o indexes Many scheduled reports run simultaneously
44. Ways We Can Mitigate It Add covering indexes Modify existing indexes Add hard drives to the data file array Add memory to cache scanned tables Run reports serially, not all at once
45. Sample Problem #2 Metrics tell us: Page file drive queue lengths average >20 Page file use averages >1% Available memory averages less than 250mb Trace tells us: No unusual queries
47. Ways We Can Mitigate It Add memory and enable AWE/PAE Add memory and upgrade to 64-bit Move the app to its own server Reduce SQL’s min/max memory sizes
48. Sample Problem #3 Metric looks OK, but every 15 minutes: Long drive queues on the log file drive Page life expectancy drops near zero Network traffic jumps Trace tells us: Transaction log backups are running
49. Ways We Can Mitigate It Stop doing log backups Put the databases in simple mode Add drives to the transaction log array Throttle the transaction log backups
50. Sample Problem #4 Metrics tell us: CPU average is high Disk, memory look OK Trace tells us: Queries are using cursors Operating on individual records, not sets
51. How We Can Mitigate It Buy really fast processors Spend a lot on licensing Change cursor to set-based query
52. Wrapping Things Up Double-check the event log first Don’t get overwhelmed: focus with the Metric – Trace – Mitigation process Show a clear cause and effect Use pro tools to get an edge
53. Resources On The Web My blog about Perfmon:www.BrentOzar.com/perfmon Excel Table Analysis Tools for the Cloud:www.SQLServerDataMining.com/cloud ClearTrace: http://www.cleardata.biz/cleartrace/ SQL Server community:SQLServerPedia.com