Load Testing & Apache JMeter

32
Load Testing & Apache JMeter Chuck Hill Global Village Consulting, Inc. WOWODC 2010

description

 

Transcript of Load Testing & Apache JMeter

Page 1: Load Testing & Apache JMeter

Load Testing & Apache JMeterChuck HillGlobal Village Consulting, Inc.WOWODC 2010

Page 2: Load Testing & Apache JMeter

• Why?

• What?

• When?

• Where?

• How?

What, Why, How?

Page 3: Load Testing & Apache JMeter

Planning for Load Testing

• Time

• Tools

• Equipment

• Information

• Lots of data

Page 4: Load Testing & Apache JMeter

JMeter Components

Page 5: Load Testing & Apache JMeter

HTTP Cookie Manager

Page 6: Load Testing & Apache JMeter

HTTP Request Defaults

Page 7: Load Testing & Apache JMeter

Thread Group

Page 8: Load Testing & Apache JMeter

Sampler

Page 9: Load Testing & Apache JMeter

Listeners

Page 10: Load Testing & Apache JMeter

Timers

Page 11: Load Testing & Apache JMeter

Assertions

Page 12: Load Testing & Apache JMeter

Test Parameterization

• Parameterize for

• different environments

• different scenarios

• different data

• Start Early!

Page 13: Load Testing & Apache JMeter

Parameters on Test Plan

Page 14: Load Testing & Apache JMeter

Thread Group Parameters

Page 15: Load Testing & Apache JMeter

Thread GroupSpecific Parameters

Page 16: Load Testing & Apache JMeter

Complications of WOe

• URL is recorded in Sampler so...

‣ Session ID and Instance Number

➡HTTP Cookie Manager

‣ Context ID

➡A problem, but only in loops

Page 17: Load Testing & Apache JMeter

Session ID and Instance Number

Page 18: Load Testing & Apache JMeter

Use Matches in URL

Page 19: Load Testing & Apache JMeter

Find Context ID

Page 20: Load Testing & Apache JMeter

Use Context ID

Page 21: Load Testing & Apache JMeter

Recording Tests

• Record and refine

• Use Selenium for repeatability

• Run tests slowly

Page 22: Load Testing & Apache JMeter

Recording Problems

• ERXSwitchComponent

-Der.extensions.WOSwitchComponent.patch=false

• Copy and Paste to Test Plan

Page 23: Load Testing & Apache JMeter

Delays for Reality

• Pause for realistic results

• Constant Timer

• Gaussion Random Timer

• Uniform Random Timer

• Combinations of Timers

Page 24: Load Testing & Apache JMeter

Ajax!

• The good news...

• The bad news...

• XPath Extractor

• JavaScript

• AjaxUpdateContainer and friends

Page 25: Load Testing & Apache JMeter

Data Driven Tests

Page 26: Load Testing & Apache JMeter

Upload Problem

Page 27: Load Testing & Apache JMeter

Running the Tests• Run from GUI

• Run from command line / script

• Run from multiple machines

Page 28: Load Testing & Apache JMeter

Evaluating Test Results

• JMeter Reporters (Listeners)

• response times: min, max, avg, std dev

• error count

• ActivityMonitor.app & ServerAdmin.app

• memory, CPU, network

• JavaMonitor

• Transaction Average, Average Idle Period

Page 29: Load Testing & Apache JMeter

Summary Report

Page 30: Load Testing & Apache JMeter

Creating Effective Tests

• Work as super-user

• Use Selenium tests as base

• Run against known DB backup

• Parameterize tests

• Use assertions

Page 31: Load Testing & Apache JMeter

Creating Readable Tests

Page 32: Load Testing & Apache JMeter

Q&ALoad Testing and Apache JMeterChuck HillGlobal Village Consulting