25
“The Day After Tomorrow”; why you need to baseline Richard Douglas Dell Software - Systems Consultant 8 th Movember 2013

The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

Embed Size (px)

DESCRIPTION

Presentation by Richard Douglas - @SQLRich - on baselining a SQL Server environment from the PASS SQL Rally held in Amsterdam 2013 Abstract: Ensuring peak SQL Server performance isn’t always easy and requires a lot of work on the part of the DBA. To maintain the best-possible performance, you need to make sure you’re monitoring the right things. But how do you know if the figures you’re seeing are good or bad? Baseline comparisons can help, and in this educational session, SQL Server expert Richard Douglas will show you how to get the most from them. Richard will explain what a baseline is, why and when you need to take one, and how you can create one. You’ll also learn about a number of native Windows and SQL Server tools that will allow you to do just that. Read more: Presentations - 2013 | Richard Douglas - SQL Server Professional http://sql.richarddouglas.co.uk/presentations/presentations-2013#ixzz2kcBNBxMK

Citation preview

Page 1: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

“The Day After Tomorrow”;why you need to baseline

Richard DouglasDell Software - Systems

Consultant

8th Movember 2013

Page 2: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

2

Join Local Chapters

JOIN THE PASS COMMUNITY

Become a PASS member for free and join the world’s

biggest SQL Server Community.

Access to online training content

Access to events at discounted

rates

Join Virtual Chapters

Personalize your PASS website experience

Page 3: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

Who’s this guy?

•Richard Douglas

•Editor in Chief – ToadWorld.com

•MCITPro

•Maidenhead PASS Chapter Leader

•Blog: http://SQL.RichardDouglas.co.uk

•Twitter: @SQLRich

•Email: [email protected]

Page 4: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

Agenda

• What is a “baseline”?

• What is “benchmarking”?

• Where do we start?

• What should I capture?

• What should I capture it with?

Page 5: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

What is a “baseline”?

•Typical state

•Average over a time period

•Multiple baselines

Why baseline?•Line in the sand

•Usage patterns

A measurement or calculation used as a basis for comparison.

Page 6: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

What is “benchmarking”?

Allows you to make informed decisions

A level by which something can be measured or judged

Page 7: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

Performance tuning lifecycle

Identify bottlenec

k

Create / update

baseline

Define goal

Deploy change

Develop / test

solution

Page 8: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

Obligatory analogy

Analyse

Make a cup of coffee

Make the best

coffee

Make change

Decide on

change

Page 9: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

It depends

When should I capture it?

•Consider different baselines for different business periods– Maintenance windows– Month/Quarter/Year end– Seasonal peaks

•After Windows and SQL Server patches

•After failovers / DR scenarios

•After any new project deployment

Page 10: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

What should I capture?

System Configuratio

n

Windows OS Counters

SQL Server Counters

Wait statistics

Page 11: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

System configuration

What should I capture?

•Infrastructure diagrams.

•Windows and SQL Server version information.

•Driver information

•IO Subsystem information

•System catalogue information– Sys.configurations– Sys.databases– Sys.master_files

Page 12: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

Operating System / SQL Server Counters - Memory

What should I capture?

•Memory: Available Mbytes

•Paging File: %Usage

•SQL Server Memory Manager: Target Server Memory(KB)

•SQL Server Memory Manager: Total Server Memory(KB)

•SQL Server Memory Manager: Memory Grants Pending

•SQL Server Buffer Manager: Buffer cache hit ratioSQL Server Buffer Manager: Page Life Expectancy

•SQL Server Buffer Manager: Extension Page Unreferenced Time

•SQL Server Buffer Manager: Database Pages

•SQL Server Buffer Manager: Procedure Cache Pages

0

300

PLE * (16 or 32)

Page 14: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

Operating System / SQL Server Counters - CPU

What should I capture?

•Processor: % Processor Time

•Process: % Processor Time (SQLServr)

•System: Processor Queue Length

•System: Context Switches/Sec

•SQL Server SQL Statistics: SQL Compilations/Sec

•SQL Server SQL Statistics: SQL ReCompilations/Sec

LT 80%

LT 80%

LT 12 goodideally LT 4

LT 3000 goodideally LT 1500

Page 15: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

Operating System / SQL Server Counters - IO

What should I capture?

•Physical Disk: Current Disk Queue Length

•Physical Disk: Avg. Disk Sec/Read

•Physical Disk: Avg. Disk Sec/Write

•Physical Disk: Avg. Bytes/Read

•Physical Disk: Avg. Bytes/Write

?

LT 20ms

LT 10ms

Page 16: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

SAN Considerations

•Virtualised storage– How is it connected?– How many spindles?– How many other servers share this?

•Dynamic storage– Your data may move!!!!!

•What’s a good way to test for consistency?– Baseline your maintenance window(s)

Page 17: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

SQL Server Counters

What should I capture?

•SQL Server Access Method: Forwarded Records/Sec

•SQL Server Access Method: Page Splits/Sec

•SQL Server General Statistics: User Connections

•SQL Server SQL Statistics: Batch Requests/Sec

•SQL Server Buffer Manager: Page Reads/Sec

•SQL Server Buffer Manager: Page Writes/Sec

Ideally 0

It depends*

Beware pooling

LT 90

LT 90 **

*Page splits include “regular” new page allocations

** Cross reference this with Checkpoint and Lazy Writer counters

Page 18: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

What should I capture?

•Query information– Understand the server workload– Consider exporting plans from the cache.

•Job information– Are my jobs taking longer?

•Wait statistics– What is SQL Server waiting on?

Page 19: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

What free tools can I capture it with?•Performance Monitor (OS + SQL Server Counters)

•Your favourite T-SQL editor - SSMS or Toad for SQL Server freeware (Dynamic Management Objects)

•Profiler / Extended events (Query information)

Page 21: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

DEMO

Page 22: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

Reactive

Proactive Analyze trends Set thresholds Predict problems Monitor end-user

response time Automate Mature problem,

configuration, change, asset and performance mgt processes

Fight fires Inventory Desktop sw

distribution Initiate

problem mgt process

Alert and event mgt

Monitor component availability

IT as a service provider

Define services, classes, pricing

Understand costs Guarantee SLAs Monitor and report

service availability Capacity

mgt

Service

Value IT as strategic

business partner IT and business

metric linkage IT/business

collaboration improves business process

Real-time infrastructure

Business planning

Level 1

Level 2

Level 3

Level 4

Chaotic

Ad hoc Undocumented Unpredictable Multiple help

desks Minimal IT

operations User call

notification

Level 0

Tool Leverage

Manage IT as a Business

Service Delivery Process Engineering

Operational Process Engineering

Service and Account Management

Page 23: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

Summary

“The Day After Tomorrow”;why you need to baseline

•What a “baseline” is.

•What “benchmarking” means.

•How to plan your baseline.

•How to choose your measures.

•Native tools.

Page 24: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

Any questions?

Page 25: The day after tomorrow, why you need to baseline - SQL Rally 2013 - Amsterdam

“The Day After Tomorrow”;why you need to baseline

Richard Douglas@SQLRichhttp://SQL.RichardDouglas.co.uk