Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond...

66
Beyond The Numbers Baron Schwartz

Transcript of Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond...

Page 1: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Beyond The Numbers

Baron Schwartz

Page 3: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Who Am I?

● Maatkit● Innotop● Aspersa● JavaScript Libraries

● Percona Toolkit● Monitoring Plugins● Online Tools

Page 4: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

● Consulting

● Support● Remote DBA

● Engineering● Conferences &

Training

● Percona Server

● Percona XtraBackup● Percona XtraDB

Cluster

● Percona Toolkit

● Many More

Page 5: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Today's Agenda

● Benchmarks● Aggregation and Distributions● Performance, Capacity & Utilization● Rules of Thumb● Queueing Theory and Scalability

Page 6: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Benchmarks

Page 7: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

What's Missing?

● Distribution● Time Series● Response Times● Parameters● Goals● System Specs

Page 8: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

What's Misleading?

● Logarithmic X-Axis● Interpolation

Page 9: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

What's Good?

● Y-Axis Reaches 0● No Fake-Smoothing

Page 10: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Behind a Single Dot

Page 11: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Look At All That Data...

Page 12: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

What's With The Grid Lines?!?!?

Page 13: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Better Benchmarks

What does an ideal benchmark report look like?

Page 14: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Clear Benchmark Goals

● Validating hardware configuration● Comparing two systems● Checking for regressions● Capacity planning● Reproducing bad behavior to solve it● Stress-testing to find bottlenecks

Page 15: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Hardware and Software

● Specs for CPU, disk, memory, network● Software versions (OS, SUT, benchmark)● Filesystem, RAID controller● Disk queue scheduler

Page 16: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Presenting Results

● Ideally, make raw results available● Include metrics from OS (CPU, RAM, IO,

network)● Generate some plots to summarize

● This is where the rubber meets the road!

Page 17: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Better Aggregate Measures

● Average● Percentiles

● 95th● 99th

● Maximum● Observation Duration

● Question: how bad can 95th percentile be?

Page 18: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

More Aggregate Measures

● Median (50th Percentile)● Standard Deviation● Index of Dispersion

Page 19: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Better...

Page 20: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Better Still...

Page 21: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Keep It Coming...

Page 22: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Throughput AND Response Time

Page 23: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Performance

● What is Performance?● Two Metrics

● Response Time (time per task)● Throughput (tasks per time)

● They're not reciprocals● More on this later

Page 24: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

What Performance Isn't

● CPU Usage● Load Average● Other metrics of resource consumption

Page 25: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Performance

● I often focus on response time● It represents user experience● Throughput indicates capacity rather than

performance

● For benchmarking, throughput is primary

Page 26: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Utilization

● The portion of time during which the resource is busy● i.e. there is at least one thing in progress

Page 27: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Utilization is Confusing

● Be very careful with tools that report utilization

● From the Linux iostat man page:● “%util: Percentage of CPU time during which

I/O requests were issued to the device (bandwidth utilization for the device). Device saturation occurs when this value is close to 100%.”

● Can you parse that? Is it true?

Page 28: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Capacity

● What is Capacity?

Page 29: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Capacity

Page 30: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Capacity – My Definition

Capacity is the maximum throughput

... at achievable concurrency

... with acceptable performance

... as defined by response time

... meeting specified constraints

... over specified observation intervals.

Page 31: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Capacity Example

● What is capacity of the system at a concurrency of 32 with 10-second 95th-percentile response time not to exceed 2ms over a 60-minute duration?

● To determine this, we need goal-seeking benchmark software● Most benchmark software can't do this

Page 32: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Benchmarks, etc Recap

● Most benchmarks reveal very little● Benchmark reports reveal even less● It's good to go beyond the surface

Page 33: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Amdahl's Law

● “The speedup of a program using multiple processors in parallel computing is limited by the time needed for the sequential fraction of the program.” - Wikipedia

● It's basically a law of diminishing returns.

Page 34: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Should I Defragment My Disk?

● Method 1: Google “defragment”● Method 2: Try it and see● Method 3: Measure if the disk is a

bottleneck

Page 35: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Spolsky -vs- Millsap

Page 36: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Spolsky -vs- Millsap

Page 37: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Amdahl's Law

● Don't try to optimize little things.

Page 38: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Little's Law

● N = XR● That is,

● Concurrency = Throughput * Response Time

● This holds regardless of queueing, arrival rate distribution, response time distribution, etc.

Page 39: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Little's Law Example

● If disk IOs average 4ms...● And there are 280 IOs per second...● Then the disk's average concurrency is:

● N = 280 * .004● N = 1.12

● Do you believe this?● When might it not be true?

Page 40: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Little's Law Example #2

● If disk utilization is 98%● And there are 280 IOs per second● What do we know?

Page 41: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Utilization Law

● U = SX● Also independent of distributions, etc...

● That is,● Utilization = Service Time * Throughput

● Utilization = 98% and Throughput = 280● S = U/X● Service Time = .98 / 280 = .0035

Page 42: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Queueing Theory

● How can we predict the amount of queueing in a system?

● How can we predict its response times?● How can we predict capacity?

Page 43: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Erlang Queueing

● Erlang's formulas model the probability of queueing for a given arrival rate, service time, and number of servers.

● A “server” is anything capable of serving a request.● CPUs● Disks

Page 44: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

CPU -vs- Disk Queueing

● Scenario: 4-CPU, 4-disk (RAID0) server● Thought experiment:

● How do processes queue for CPU?● How do I/O requests queue on disks?

Page 45: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Notation

● Typically see something like M/M/1● Each letter is a placeholder in A/S/n

● A = Arrival distribution● S = Service-time distribution● n = Number of servers

● A and S can be one of:● Markov● Deterministic● General

Page 46: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

CPUs -vs- Disks

● CPUs: M/M/4

● Disks: 4 x {M/M/1}

Page 47: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

M/M/1 Queueing

cmg.org

Page 48: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

M/M/n Queueing

cmg.org

Page 49: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Erlang C Function

● M/M/n queueing is modeled by Erlang C● See http://en.wikipedia.org/wiki/Erlang_(unit)

Page 50: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

What's Wrong With Erlang C?

● You must validate your arrival times.● You must validate your service times.● The equation is hard to work with.● In practice, it's hard to use Erlang C.

Page 51: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Scalability

● Queueing causes non-linear scaling.● But first, let's talk about linearity.

Page 52: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

System Scalability

Concurrency

Thr

ough

put

Why?

Page 53: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Universal Scalability Law

Concurrency

Thr

ough

put

Linear

Amdahl

USL

Page 54: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Amdahl Scalability

Page 55: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

USL Scalability

Page 56: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

USL Scalability Modeling

Page 57: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

USL Performance Modeling

Page 58: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Scalability Limitations

● Locks● Synchronization points● Shared resources● Duplicated data to be kept in sync● Weakest-link problems

Page 59: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

RAID10 On EBS

● Which is faster?● RAID 10 over 10 EBS volumes● RAID 10 over 20 EBS volumes

● Hint: http://goo.gl/Xm92Y● Also, http://goo.gl/fAEIL

Page 60: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Debunking “Linear”

● Ask to see the actual numbers.● They shouldn't be rounded off suspiciously.● They must be truly linear.● They must intersect the point (0, 0).

Page 61: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Debunking, Example #1

Page 62: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Is it Linear?

Page 63: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

It's Not Linear

Page 64: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Resources

● Naomi Robbins' Blog● http://blogs.forbes.com/naomirobbins/

● Percona White Papers● http://www.percona.com/

● Neil J. Gunther● Guerrilla Capacity Planning

● http://www.contextneeded.com/

Page 65: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

Questions?

Page 66: Beyond The Numbers€¦ · Beyond The Numbers Baron Schwartz. Who Am I? ... It's good to go beyond the surface. Amdahl's Law

[email protected]@xaprb