+ All Categories
Home > Technology > Web Performance Analysis - TCF Pro 2009

Web Performance Analysis - TCF Pro 2009

Date post: 03-Jul-2015
Category:
Upload: guy-ferraiolo
View: 382 times
Download: 1 times
Share this document with a friend
Description:
A discussion of web performance analysis and testing.
61
Survey of Web Performance Analysis Guy Ferraiolo, Norstrilia Software, Inc. [email protected] copyright 2009, Guy Ferraiolo some rights reserved This work is licensed under the Creative Commons Attribution-No Derivative Works 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nd/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
Transcript
Page 1: Web Performance Analysis - TCF Pro 2009

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

copyright 2009 Guy Ferraiolosome rights reserved

This work is licensed under the Creative Commons Attribution-No Derivative Works 30 License To view a copy of this license visit httpcreativecommonsorglicensesby-nd30 or send a letter to Creative Commons 171 Second Street Suite 300 San Francisco California 94105 USA

Introduction

Who am I

Consultant Principal Software Engineer 8 years at a major internet presence 30 years in the software industry

Ran performance testing effort two sophisticated performance test labs

Committer and contributor to Apache Software Foundation

My Environment

In a performance group

Work with engineering organizations to facilitate and empower their performance analysis efforts

Responsibilities clearly divided among organizations

tiered architecture mostly

Approach of This Talk

Find a conceptual basis

the task is complex

Provide some advice based on experience

Focus of This Talk

Survey only much more information is available

Primarily concepts some discussion of tools

Heuristics and work processes

General using web examples HTTP

Will Provide

Definite advice

Amusing anecdotes

Some tool recommendations

Wonrsquot Provide

Magic bullets

Simple answers

Performance Analysis

Goals

Know what performance results are

Understand reasons for performance results

Save money

Save time

Two Different Web Performance Aspects

Page delivery time

Resource cost to deliver a page

Not entirely unrelated but commonly confused

Why Performance Matters

Poor performance means less traffic and therefore less revenue

This relationship is surprizingly strong perhaps 20 less traffic for an additional 01 seconds

Infrastructure is very expensive

Why Resource Cost Matters

A highly dynamic page may be very lightweight but require enormous effort to assemble - the example is Google

Even if a page is fast to deliver the cost of the infrastructure to create it can be a major business problem

Performance Analysis

is primarily analytic

but testing is essential

works best when integrated into the development process

Performance Analysis Consists of

Detecting Performance Issues

some sort of monitoring is needed

Localizing Performance Issues

usually done with analysis

Resolving Performance Issues

often easy but testing can be critical

Performance Analysis

is not code monkey work

is not fast

is not highly rigorous

Types of Performance Analysis

Capacity planning

Acceptance testing

Design and algorithm selection

Good amp Bad News

Meaningful results can be obtained

Results sometimes not expected

Requires a serious investment

Is inherently iterative

Where to Start

A hierarchy of

concepts - most important

policies - derived from concepts

tools - necessary but not dominant

Concepts

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 2: Web Performance Analysis - TCF Pro 2009

Introduction

Who am I

Consultant Principal Software Engineer 8 years at a major internet presence 30 years in the software industry

Ran performance testing effort two sophisticated performance test labs

Committer and contributor to Apache Software Foundation

My Environment

In a performance group

Work with engineering organizations to facilitate and empower their performance analysis efforts

Responsibilities clearly divided among organizations

tiered architecture mostly

Approach of This Talk

Find a conceptual basis

the task is complex

Provide some advice based on experience

Focus of This Talk

Survey only much more information is available

Primarily concepts some discussion of tools

Heuristics and work processes

General using web examples HTTP

Will Provide

Definite advice

Amusing anecdotes

Some tool recommendations

Wonrsquot Provide

Magic bullets

Simple answers

Performance Analysis

Goals

Know what performance results are

Understand reasons for performance results

Save money

Save time

Two Different Web Performance Aspects

Page delivery time

Resource cost to deliver a page

Not entirely unrelated but commonly confused

Why Performance Matters

Poor performance means less traffic and therefore less revenue

This relationship is surprizingly strong perhaps 20 less traffic for an additional 01 seconds

Infrastructure is very expensive

Why Resource Cost Matters

A highly dynamic page may be very lightweight but require enormous effort to assemble - the example is Google

Even if a page is fast to deliver the cost of the infrastructure to create it can be a major business problem

Performance Analysis

is primarily analytic

but testing is essential

works best when integrated into the development process

Performance Analysis Consists of

Detecting Performance Issues

some sort of monitoring is needed

Localizing Performance Issues

usually done with analysis

Resolving Performance Issues

often easy but testing can be critical

Performance Analysis

is not code monkey work

is not fast

is not highly rigorous

Types of Performance Analysis

Capacity planning

Acceptance testing

Design and algorithm selection

Good amp Bad News

Meaningful results can be obtained

Results sometimes not expected

Requires a serious investment

Is inherently iterative

Where to Start

A hierarchy of

concepts - most important

policies - derived from concepts

tools - necessary but not dominant

Concepts

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 3: Web Performance Analysis - TCF Pro 2009

Who am I

Consultant Principal Software Engineer 8 years at a major internet presence 30 years in the software industry

Ran performance testing effort two sophisticated performance test labs

Committer and contributor to Apache Software Foundation

My Environment

In a performance group

Work with engineering organizations to facilitate and empower their performance analysis efforts

Responsibilities clearly divided among organizations

tiered architecture mostly

Approach of This Talk

Find a conceptual basis

the task is complex

Provide some advice based on experience

Focus of This Talk

Survey only much more information is available

Primarily concepts some discussion of tools

Heuristics and work processes

General using web examples HTTP

Will Provide

Definite advice

Amusing anecdotes

Some tool recommendations

Wonrsquot Provide

Magic bullets

Simple answers

Performance Analysis

Goals

Know what performance results are

Understand reasons for performance results

Save money

Save time

Two Different Web Performance Aspects

Page delivery time

Resource cost to deliver a page

Not entirely unrelated but commonly confused

Why Performance Matters

Poor performance means less traffic and therefore less revenue

This relationship is surprizingly strong perhaps 20 less traffic for an additional 01 seconds

Infrastructure is very expensive

Why Resource Cost Matters

A highly dynamic page may be very lightweight but require enormous effort to assemble - the example is Google

Even if a page is fast to deliver the cost of the infrastructure to create it can be a major business problem

Performance Analysis

is primarily analytic

but testing is essential

works best when integrated into the development process

Performance Analysis Consists of

Detecting Performance Issues

some sort of monitoring is needed

Localizing Performance Issues

usually done with analysis

Resolving Performance Issues

often easy but testing can be critical

Performance Analysis

is not code monkey work

is not fast

is not highly rigorous

Types of Performance Analysis

Capacity planning

Acceptance testing

Design and algorithm selection

Good amp Bad News

Meaningful results can be obtained

Results sometimes not expected

Requires a serious investment

Is inherently iterative

Where to Start

A hierarchy of

concepts - most important

policies - derived from concepts

tools - necessary but not dominant

Concepts

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 4: Web Performance Analysis - TCF Pro 2009

My Environment

In a performance group

Work with engineering organizations to facilitate and empower their performance analysis efforts

Responsibilities clearly divided among organizations

tiered architecture mostly

Approach of This Talk

Find a conceptual basis

the task is complex

Provide some advice based on experience

Focus of This Talk

Survey only much more information is available

Primarily concepts some discussion of tools

Heuristics and work processes

General using web examples HTTP

Will Provide

Definite advice

Amusing anecdotes

Some tool recommendations

Wonrsquot Provide

Magic bullets

Simple answers

Performance Analysis

Goals

Know what performance results are

Understand reasons for performance results

Save money

Save time

Two Different Web Performance Aspects

Page delivery time

Resource cost to deliver a page

Not entirely unrelated but commonly confused

Why Performance Matters

Poor performance means less traffic and therefore less revenue

This relationship is surprizingly strong perhaps 20 less traffic for an additional 01 seconds

Infrastructure is very expensive

Why Resource Cost Matters

A highly dynamic page may be very lightweight but require enormous effort to assemble - the example is Google

Even if a page is fast to deliver the cost of the infrastructure to create it can be a major business problem

Performance Analysis

is primarily analytic

but testing is essential

works best when integrated into the development process

Performance Analysis Consists of

Detecting Performance Issues

some sort of monitoring is needed

Localizing Performance Issues

usually done with analysis

Resolving Performance Issues

often easy but testing can be critical

Performance Analysis

is not code monkey work

is not fast

is not highly rigorous

Types of Performance Analysis

Capacity planning

Acceptance testing

Design and algorithm selection

Good amp Bad News

Meaningful results can be obtained

Results sometimes not expected

Requires a serious investment

Is inherently iterative

Where to Start

A hierarchy of

concepts - most important

policies - derived from concepts

tools - necessary but not dominant

Concepts

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 5: Web Performance Analysis - TCF Pro 2009

Approach of This Talk

Find a conceptual basis

the task is complex

Provide some advice based on experience

Focus of This Talk

Survey only much more information is available

Primarily concepts some discussion of tools

Heuristics and work processes

General using web examples HTTP

Will Provide

Definite advice

Amusing anecdotes

Some tool recommendations

Wonrsquot Provide

Magic bullets

Simple answers

Performance Analysis

Goals

Know what performance results are

Understand reasons for performance results

Save money

Save time

Two Different Web Performance Aspects

Page delivery time

Resource cost to deliver a page

Not entirely unrelated but commonly confused

Why Performance Matters

Poor performance means less traffic and therefore less revenue

This relationship is surprizingly strong perhaps 20 less traffic for an additional 01 seconds

Infrastructure is very expensive

Why Resource Cost Matters

A highly dynamic page may be very lightweight but require enormous effort to assemble - the example is Google

Even if a page is fast to deliver the cost of the infrastructure to create it can be a major business problem

Performance Analysis

is primarily analytic

but testing is essential

works best when integrated into the development process

Performance Analysis Consists of

Detecting Performance Issues

some sort of monitoring is needed

Localizing Performance Issues

usually done with analysis

Resolving Performance Issues

often easy but testing can be critical

Performance Analysis

is not code monkey work

is not fast

is not highly rigorous

Types of Performance Analysis

Capacity planning

Acceptance testing

Design and algorithm selection

Good amp Bad News

Meaningful results can be obtained

Results sometimes not expected

Requires a serious investment

Is inherently iterative

Where to Start

A hierarchy of

concepts - most important

policies - derived from concepts

tools - necessary but not dominant

Concepts

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 6: Web Performance Analysis - TCF Pro 2009

Focus of This Talk

Survey only much more information is available

Primarily concepts some discussion of tools

Heuristics and work processes

General using web examples HTTP

Will Provide

Definite advice

Amusing anecdotes

Some tool recommendations

Wonrsquot Provide

Magic bullets

Simple answers

Performance Analysis

Goals

Know what performance results are

Understand reasons for performance results

Save money

Save time

Two Different Web Performance Aspects

Page delivery time

Resource cost to deliver a page

Not entirely unrelated but commonly confused

Why Performance Matters

Poor performance means less traffic and therefore less revenue

This relationship is surprizingly strong perhaps 20 less traffic for an additional 01 seconds

Infrastructure is very expensive

Why Resource Cost Matters

A highly dynamic page may be very lightweight but require enormous effort to assemble - the example is Google

Even if a page is fast to deliver the cost of the infrastructure to create it can be a major business problem

Performance Analysis

is primarily analytic

but testing is essential

works best when integrated into the development process

Performance Analysis Consists of

Detecting Performance Issues

some sort of monitoring is needed

Localizing Performance Issues

usually done with analysis

Resolving Performance Issues

often easy but testing can be critical

Performance Analysis

is not code monkey work

is not fast

is not highly rigorous

Types of Performance Analysis

Capacity planning

Acceptance testing

Design and algorithm selection

Good amp Bad News

Meaningful results can be obtained

Results sometimes not expected

Requires a serious investment

Is inherently iterative

Where to Start

A hierarchy of

concepts - most important

policies - derived from concepts

tools - necessary but not dominant

Concepts

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 7: Web Performance Analysis - TCF Pro 2009

Will Provide

Definite advice

Amusing anecdotes

Some tool recommendations

Wonrsquot Provide

Magic bullets

Simple answers

Performance Analysis

Goals

Know what performance results are

Understand reasons for performance results

Save money

Save time

Two Different Web Performance Aspects

Page delivery time

Resource cost to deliver a page

Not entirely unrelated but commonly confused

Why Performance Matters

Poor performance means less traffic and therefore less revenue

This relationship is surprizingly strong perhaps 20 less traffic for an additional 01 seconds

Infrastructure is very expensive

Why Resource Cost Matters

A highly dynamic page may be very lightweight but require enormous effort to assemble - the example is Google

Even if a page is fast to deliver the cost of the infrastructure to create it can be a major business problem

Performance Analysis

is primarily analytic

but testing is essential

works best when integrated into the development process

Performance Analysis Consists of

Detecting Performance Issues

some sort of monitoring is needed

Localizing Performance Issues

usually done with analysis

Resolving Performance Issues

often easy but testing can be critical

Performance Analysis

is not code monkey work

is not fast

is not highly rigorous

Types of Performance Analysis

Capacity planning

Acceptance testing

Design and algorithm selection

Good amp Bad News

Meaningful results can be obtained

Results sometimes not expected

Requires a serious investment

Is inherently iterative

Where to Start

A hierarchy of

concepts - most important

policies - derived from concepts

tools - necessary but not dominant

Concepts

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 8: Web Performance Analysis - TCF Pro 2009

Wonrsquot Provide

Magic bullets

Simple answers

Performance Analysis

Goals

Know what performance results are

Understand reasons for performance results

Save money

Save time

Two Different Web Performance Aspects

Page delivery time

Resource cost to deliver a page

Not entirely unrelated but commonly confused

Why Performance Matters

Poor performance means less traffic and therefore less revenue

This relationship is surprizingly strong perhaps 20 less traffic for an additional 01 seconds

Infrastructure is very expensive

Why Resource Cost Matters

A highly dynamic page may be very lightweight but require enormous effort to assemble - the example is Google

Even if a page is fast to deliver the cost of the infrastructure to create it can be a major business problem

Performance Analysis

is primarily analytic

but testing is essential

works best when integrated into the development process

Performance Analysis Consists of

Detecting Performance Issues

some sort of monitoring is needed

Localizing Performance Issues

usually done with analysis

Resolving Performance Issues

often easy but testing can be critical

Performance Analysis

is not code monkey work

is not fast

is not highly rigorous

Types of Performance Analysis

Capacity planning

Acceptance testing

Design and algorithm selection

Good amp Bad News

Meaningful results can be obtained

Results sometimes not expected

Requires a serious investment

Is inherently iterative

Where to Start

A hierarchy of

concepts - most important

policies - derived from concepts

tools - necessary but not dominant

Concepts

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 9: Web Performance Analysis - TCF Pro 2009

Performance Analysis

Goals

Know what performance results are

Understand reasons for performance results

Save money

Save time

Two Different Web Performance Aspects

Page delivery time

Resource cost to deliver a page

Not entirely unrelated but commonly confused

Why Performance Matters

Poor performance means less traffic and therefore less revenue

This relationship is surprizingly strong perhaps 20 less traffic for an additional 01 seconds

Infrastructure is very expensive

Why Resource Cost Matters

A highly dynamic page may be very lightweight but require enormous effort to assemble - the example is Google

Even if a page is fast to deliver the cost of the infrastructure to create it can be a major business problem

Performance Analysis

is primarily analytic

but testing is essential

works best when integrated into the development process

Performance Analysis Consists of

Detecting Performance Issues

some sort of monitoring is needed

Localizing Performance Issues

usually done with analysis

Resolving Performance Issues

often easy but testing can be critical

Performance Analysis

is not code monkey work

is not fast

is not highly rigorous

Types of Performance Analysis

Capacity planning

Acceptance testing

Design and algorithm selection

Good amp Bad News

Meaningful results can be obtained

Results sometimes not expected

Requires a serious investment

Is inherently iterative

Where to Start

A hierarchy of

concepts - most important

policies - derived from concepts

tools - necessary but not dominant

Concepts

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 10: Web Performance Analysis - TCF Pro 2009

Goals

Know what performance results are

Understand reasons for performance results

Save money

Save time

Two Different Web Performance Aspects

Page delivery time

Resource cost to deliver a page

Not entirely unrelated but commonly confused

Why Performance Matters

Poor performance means less traffic and therefore less revenue

This relationship is surprizingly strong perhaps 20 less traffic for an additional 01 seconds

Infrastructure is very expensive

Why Resource Cost Matters

A highly dynamic page may be very lightweight but require enormous effort to assemble - the example is Google

Even if a page is fast to deliver the cost of the infrastructure to create it can be a major business problem

Performance Analysis

is primarily analytic

but testing is essential

works best when integrated into the development process

Performance Analysis Consists of

Detecting Performance Issues

some sort of monitoring is needed

Localizing Performance Issues

usually done with analysis

Resolving Performance Issues

often easy but testing can be critical

Performance Analysis

is not code monkey work

is not fast

is not highly rigorous

Types of Performance Analysis

Capacity planning

Acceptance testing

Design and algorithm selection

Good amp Bad News

Meaningful results can be obtained

Results sometimes not expected

Requires a serious investment

Is inherently iterative

Where to Start

A hierarchy of

concepts - most important

policies - derived from concepts

tools - necessary but not dominant

Concepts

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 11: Web Performance Analysis - TCF Pro 2009

Two Different Web Performance Aspects

Page delivery time

Resource cost to deliver a page

Not entirely unrelated but commonly confused

Why Performance Matters

Poor performance means less traffic and therefore less revenue

This relationship is surprizingly strong perhaps 20 less traffic for an additional 01 seconds

Infrastructure is very expensive

Why Resource Cost Matters

A highly dynamic page may be very lightweight but require enormous effort to assemble - the example is Google

Even if a page is fast to deliver the cost of the infrastructure to create it can be a major business problem

Performance Analysis

is primarily analytic

but testing is essential

works best when integrated into the development process

Performance Analysis Consists of

Detecting Performance Issues

some sort of monitoring is needed

Localizing Performance Issues

usually done with analysis

Resolving Performance Issues

often easy but testing can be critical

Performance Analysis

is not code monkey work

is not fast

is not highly rigorous

Types of Performance Analysis

Capacity planning

Acceptance testing

Design and algorithm selection

Good amp Bad News

Meaningful results can be obtained

Results sometimes not expected

Requires a serious investment

Is inherently iterative

Where to Start

A hierarchy of

concepts - most important

policies - derived from concepts

tools - necessary but not dominant

Concepts

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 12: Web Performance Analysis - TCF Pro 2009

Why Performance Matters

Poor performance means less traffic and therefore less revenue

This relationship is surprizingly strong perhaps 20 less traffic for an additional 01 seconds

Infrastructure is very expensive

Why Resource Cost Matters

A highly dynamic page may be very lightweight but require enormous effort to assemble - the example is Google

Even if a page is fast to deliver the cost of the infrastructure to create it can be a major business problem

Performance Analysis

is primarily analytic

but testing is essential

works best when integrated into the development process

Performance Analysis Consists of

Detecting Performance Issues

some sort of monitoring is needed

Localizing Performance Issues

usually done with analysis

Resolving Performance Issues

often easy but testing can be critical

Performance Analysis

is not code monkey work

is not fast

is not highly rigorous

Types of Performance Analysis

Capacity planning

Acceptance testing

Design and algorithm selection

Good amp Bad News

Meaningful results can be obtained

Results sometimes not expected

Requires a serious investment

Is inherently iterative

Where to Start

A hierarchy of

concepts - most important

policies - derived from concepts

tools - necessary but not dominant

Concepts

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 13: Web Performance Analysis - TCF Pro 2009

Why Resource Cost Matters

A highly dynamic page may be very lightweight but require enormous effort to assemble - the example is Google

Even if a page is fast to deliver the cost of the infrastructure to create it can be a major business problem

Performance Analysis

is primarily analytic

but testing is essential

works best when integrated into the development process

Performance Analysis Consists of

Detecting Performance Issues

some sort of monitoring is needed

Localizing Performance Issues

usually done with analysis

Resolving Performance Issues

often easy but testing can be critical

Performance Analysis

is not code monkey work

is not fast

is not highly rigorous

Types of Performance Analysis

Capacity planning

Acceptance testing

Design and algorithm selection

Good amp Bad News

Meaningful results can be obtained

Results sometimes not expected

Requires a serious investment

Is inherently iterative

Where to Start

A hierarchy of

concepts - most important

policies - derived from concepts

tools - necessary but not dominant

Concepts

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 14: Web Performance Analysis - TCF Pro 2009

Performance Analysis

is primarily analytic

but testing is essential

works best when integrated into the development process

Performance Analysis Consists of

Detecting Performance Issues

some sort of monitoring is needed

Localizing Performance Issues

usually done with analysis

Resolving Performance Issues

often easy but testing can be critical

Performance Analysis

is not code monkey work

is not fast

is not highly rigorous

Types of Performance Analysis

Capacity planning

Acceptance testing

Design and algorithm selection

Good amp Bad News

Meaningful results can be obtained

Results sometimes not expected

Requires a serious investment

Is inherently iterative

Where to Start

A hierarchy of

concepts - most important

policies - derived from concepts

tools - necessary but not dominant

Concepts

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 15: Web Performance Analysis - TCF Pro 2009

Performance Analysis Consists of

Detecting Performance Issues

some sort of monitoring is needed

Localizing Performance Issues

usually done with analysis

Resolving Performance Issues

often easy but testing can be critical

Performance Analysis

is not code monkey work

is not fast

is not highly rigorous

Types of Performance Analysis

Capacity planning

Acceptance testing

Design and algorithm selection

Good amp Bad News

Meaningful results can be obtained

Results sometimes not expected

Requires a serious investment

Is inherently iterative

Where to Start

A hierarchy of

concepts - most important

policies - derived from concepts

tools - necessary but not dominant

Concepts

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 16: Web Performance Analysis - TCF Pro 2009

Performance Analysis

is not code monkey work

is not fast

is not highly rigorous

Types of Performance Analysis

Capacity planning

Acceptance testing

Design and algorithm selection

Good amp Bad News

Meaningful results can be obtained

Results sometimes not expected

Requires a serious investment

Is inherently iterative

Where to Start

A hierarchy of

concepts - most important

policies - derived from concepts

tools - necessary but not dominant

Concepts

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 17: Web Performance Analysis - TCF Pro 2009

Types of Performance Analysis

Capacity planning

Acceptance testing

Design and algorithm selection

Good amp Bad News

Meaningful results can be obtained

Results sometimes not expected

Requires a serious investment

Is inherently iterative

Where to Start

A hierarchy of

concepts - most important

policies - derived from concepts

tools - necessary but not dominant

Concepts

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 18: Web Performance Analysis - TCF Pro 2009

Good amp Bad News

Meaningful results can be obtained

Results sometimes not expected

Requires a serious investment

Is inherently iterative

Where to Start

A hierarchy of

concepts - most important

policies - derived from concepts

tools - necessary but not dominant

Concepts

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 19: Web Performance Analysis - TCF Pro 2009

Where to Start

A hierarchy of

concepts - most important

policies - derived from concepts

tools - necessary but not dominant

Concepts

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 20: Web Performance Analysis - TCF Pro 2009

Concepts

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 21: Web Performance Analysis - TCF Pro 2009

The Big Concept

Reduction of Uncertainty

overarching concept

provides answers to why what and do I care

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 22: Web Performance Analysis - TCF Pro 2009

How to Apply the Big Concept

Relate performance to business needs

provide enough information to allow management to make meaningful business decisions

gain enough information to allow extrapolation of trends

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 23: Web Performance Analysis - TCF Pro 2009

Other Concepts

Intuition is likely to be wrong

The process is inherently iterative

business process

technical process

An early start is very helpful

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 24: Web Performance Analysis - TCF Pro 2009

Policies

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 25: Web Performance Analysis - TCF Pro 2009

Policies

Analyze and test enough to make a business decision

Have a clearly defined process

Define your purpose

Make a quantitative estimate of the traffic

Let those who know something do it

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 26: Web Performance Analysis - TCF Pro 2009

More Policies

Communicate openly and often

Compartmentalize responsibility

Do not use performance testing to expose functional problems this is not QA (quality assurance)

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 27: Web Performance Analysis - TCF Pro 2009

Processes

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 28: Web Performance Analysis - TCF Pro 2009

Process Attributes

Defined

Documented

Public

Includes pre and post testing

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 29: Web Performance Analysis - TCF Pro 2009

Pre-Test Process

Assign responsibilities be definite about who

Declare goals

Record configuration

Assess traffic quantity and type

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 30: Web Performance Analysis - TCF Pro 2009

Post-Test Process

Meet definite end criteria

Report results

Make recommendations

Communicate issues

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 31: Web Performance Analysis - TCF Pro 2009

Test Process

Dynamic goal seeking

Interactive

Iterative

Duration depends on behavior

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 32: Web Performance Analysis - TCF Pro 2009

Test Options

Live or lab

End-to-end or component

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 33: Web Performance Analysis - TCF Pro 2009

The Most Common Error

Unjustified belief that the problem is code related usually architecture data traffic

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 34: Web Performance Analysis - TCF Pro 2009

Common Pitfalls

Unclear goals

N-dimensional matrix of tests

Emphasis on the tool

Emphasis on the code

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 35: Web Performance Analysis - TCF Pro 2009

More Common Pitfalls

Focus on a single tool for testing

Belief in a single answer to the problem

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 36: Web Performance Analysis - TCF Pro 2009

Tools

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 37: Web Performance Analysis - TCF Pro 2009

Tools Issues

Open source or proprietary

Proxy capture of user actions

Scriptable

Randomizable

Enforce policies

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 38: Web Performance Analysis - TCF Pro 2009

Two Types of Tools

Load generators

Test environment managers

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 39: Web Performance Analysis - TCF Pro 2009

Load Generators

flood

JMeter

many others

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 40: Web Performance Analysis - TCF Pro 2009

Load Generator Issues

Synchronous

Randomizable

Script or proxy

Load ramping

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 41: Web Performance Analysis - TCF Pro 2009

Load Generator Obsession

What people usually mean when they talk about performance testing tools

Necessary

Far from sufficient

There are many

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 42: Web Performance Analysis - TCF Pro 2009

Environment Managers

Unlike load generators few if any exist

But you can get lots of what is needed through policies and procedures

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 43: Web Performance Analysis - TCF Pro 2009

Test Environment

Controlled

Isolated

Automated

Recording

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 44: Web Performance Analysis - TCF Pro 2009

Test Facility Components

Manager

Load generator

System under test

Data recorder

Report generator

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 45: Web Performance Analysis - TCF Pro 2009

Performance Tests

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 46: Web Performance Analysis - TCF Pro 2009

Test Design

Much more in common with experiment design than statistical analysis

Statistics are good but

You donrsquot need statistics to know which tire is flat

Good test design can make it that obvious

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 47: Web Performance Analysis - TCF Pro 2009

Test Components

Two parts

load side

system under test side

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 48: Web Performance Analysis - TCF Pro 2009

Test Results

Also have two sides

Load side

requestss srequest

timing of parts of the request

System under test side

system and application metrics

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 49: Web Performance Analysis - TCF Pro 2009

Test Analysis

Reality check results and test parameters

Compare to actual or derive a baseline

Follow good analytic methodology

multiple tests etc

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 50: Web Performance Analysis - TCF Pro 2009

Pet Peeves

Load ramping

if you want different loads run different tests

actual load changes hard to match

Proxy capture

better to get real traffic from logs

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 51: Web Performance Analysis - TCF Pro 2009

Wrap Up

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 52: Web Performance Analysis - TCF Pro 2009

Key Points

Strong concepts

Well-defined process

Experiment design

Iterative

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 53: Web Performance Analysis - TCF Pro 2009

How to Solve Your Problem

Irsquom available for consulting

Introductory talks for Managers and Engineers

tools instruction procedures policies

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 54: Web Performance Analysis - TCF Pro 2009

Further Info - General Information

httpopensourcetestingorgperformancephp

httpwwwsoftwareqatestcomqatweb1htmlLOAD

search for lsquoweb performance testingrsquo

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 55: Web Performance Analysis - TCF Pro 2009

Further Info - Proprietary

TestRunner

OpenLoad

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 56: Web Performance Analysis - TCF Pro 2009

Further Info - Load Generators

JMeter

httpjakartaapacheorgjmeter

Flood

httphttpdapacheorgtestflood

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 57: Web Performance Analysis - TCF Pro 2009

Further Info - Environment Managers

OpenSTA

httpopenstaorg

Faban

httpfabansunsourcenet

The Grinder

httpgrindersourceforgenet

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 58: Web Performance Analysis - TCF Pro 2009

Excellent Book

Programming Pearls Jon Bentley

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 59: Web Performance Analysis - TCF Pro 2009

Thanks

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 60: Web Performance Analysis - TCF Pro 2009

Survey of Web Performance Analysis

Guy Ferraiolo Norstrilia Software Incgdfnorstriliasoftwarecom

contact information

Page 61: Web Performance Analysis - TCF Pro 2009

contact information


Recommended