create a one-page capacity model for high-traffic web applications
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
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
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.
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
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
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
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
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
9/20/2013
6
A reasonable diagram
How to build it
Step 2. Identify the metrics that should be tracked for each tier
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
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
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.
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