Create a One-Page Capacity Model for High-Traffic Web Applications

12
W17 Concurrent Class 10/2/2013 3:00:00 PM "Create a One-Page Capacity Model for High-Traffic Web Applications" Presented by: Dan Bartow SOASTA Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ [email protected] www.sqe.com

description

In the test lab and in production everything hinges on looking at the right performance metrics. A common problem for engineering teams is that they don’t know what metrics they should be analyzing. It’s easy to get lost in an ocean of data from disparate monitoring tools and end up with no answers to the simplest questions about performance and capacity. The reality is that to build an effective capacity model, engineers only need to track three key metrics from each tier. Using a technique perfected during a decade of performance engineering on some of the world’s highest traffic web applications, Dan Bartow shares techniques for building one of the most useful tools a team can have—the one-page capacity model. Learn the critical metrics to monitor at each tier for the most common application technologies and how to turn this knowledge into a reference page that teams will rely on in every aspect of performance management for years to come.

Transcript of Create a One-Page Capacity Model for High-Traffic Web Applications

Page 1: Create a One-Page Capacity Model for High-Traffic Web Applications

W17 Concurrent Class

10/2/2013 3:00:00 PM

"Create a One-Page Capacity

Model for High-Traffic Web

Applications"

Presented by:

Dan Bartow

SOASTA

Brought to you by:

340 Corporate Way, Suite 300, Orange Park, FL 32073

888-268-8770 ∙ 904-278-0524 ∙ [email protected] ∙ www.sqe.com

Page 2: Create a One-Page Capacity Model for High-Traffic Web Applications

Dan Bartow

SOASTA, Inc.

At SOASTA, Dan Bartow is Vice President of Product Management for the industry leading and

award-winning product CloudTest. Prior to joining SOASTA, Dan was Senior Manager of

Engineering at Intuit where his team was responsible for the speed and stability of TurboTax

Online. During the past decade he has been responsible for the performance of websites for

dozens of leading consumer brands.

Page 3: Create a One-Page Capacity Model for High-Traffic Web Applications

9/20/2013

1

Create a One-Page Capacity

Model for High-Traffic Web

Applications

Dan Bartow

SOASTA

About the Speaker

SOASTA VP Product Management

CloudTest Evangelist

Intuit Sr. Manger, Engineering

TurboTax Online and E-com

ATG Sr. Deployment Engineer

American Airlines, Best Buy, Target, Turbotax Online, QuickenOnline, MySpace,

Dennys, Dominos, Mattel, Hallmark, FAA, US Army, AT&T Wireless, Alcatel,

Newsweek, Oprah, NeimanMarcus, SBC, Plantronics, Kodak, JCrew, Cingular,

Newell Rubbermaid

Work

Page 4: Create a One-Page Capacity Model for High-Traffic Web Applications

9/20/2013

2

Poor performance.

The Problems

1. No knowledge of what the critical metrics are at each tier of an applications architecture

1. No record of what the critical metric values were at the

peak last year 1. No idea of what those metrics should be at the next peak

traffic day 1. No indication of what the capacity is today and how that

relates to the upcoming peak

Page 5: Create a One-Page Capacity Model for High-Traffic Web Applications

9/20/2013

3

The Solution

The one page capacity model

(or at least a huge step in the right direction)

What one looks like

Page 6: Create a One-Page Capacity Model for High-Traffic Web Applications

9/20/2013

4

How to build it

Step 1. Create a simple architecture diagram, containing mostly infrastructure, that lists key technologies in play for each tier

You don’t need this

Page 7: Create a One-Page Capacity Model for High-Traffic Web Applications

9/20/2013

5

Getting closer…

What to include in the diagram

1. Key infrastructure components

2. Critical services and their infrastructure where possible

3. Third party components (if applicable)

Hint: If you can’t test it, you probably don’t need to include it. #controversial

Page 8: Create a One-Page Capacity Model for High-Traffic Web Applications

9/20/2013

6

A reasonable diagram

How to build it

Step 2. Identify the metrics that should be tracked for each tier

Page 9: Create a One-Page Capacity Model for High-Traffic Web Applications

9/20/2013

7

Three layers of monitoring

Layer 1 - Customer

Layer 2 - Server

Layer 3 - Container

Concurrent sessions

Pages (requests) / sec

CPU %

Memory

Network IO

Disk IO

JVM Heap usage

Threads / second

Login servlet invocations / sec

Database connections

To make this all happen (and be

really useful)

You need comprehensive monitoring

You need to be able able to test to scale

Page 10: Create a One-Page Capacity Model for High-Traffic Web Applications

9/20/2013

8

Metrics examples for common technologies

Metric examples for common technologies

CPU

Memory

TX/sec (especially SSL TX)

Bandwidth/sec

CPU

Memory

Threads / sec

Container

CPU

Memory

Threads or processes / sec

Container

CPU

Memory

JVM heap usage

Garbage collection interval

Threads / sec

Application

Key servlet invocation count (login, order

placement)

Database connection count

Key servlet execution time

Application

Key GET/POST actions

Key method calls

External connections

Container

CPU

Memory

Connections

Queries / sec

(SELECT/INSERT/UPDATE/

DELETE)

Table or row locks

Page 11: Create a One-Page Capacity Model for High-Traffic Web Applications

9/20/2013

9

How to build it

Step 3.

Fill in the values for your peak last year (the peak second)

How to build it

Step 4.

Project and do simple math for the upcoming year. Base

this math on top level percentages and honor relationships

between metrics where needed.

Page 12: Create a One-Page Capacity Model for High-Traffic Web Applications

9/20/2013

10

Contact Information

Dan Bartow VP Product Management

SOASTA Inc.

Email: [email protected]

Twitter: www.twitter.com/PerfDan

LinkedIn: www.linkedin.com/in/danbartow/

Blog: www.soasta.com