take a load off! load testing your oracle apex or jdeveloper web applications

69
Take a load off! Load and stress testing your web applications (Apex, JDeveloper, web services and more) SAGE Computing Services Customised Oracle Training Workshops and Consulting Chris Muir Oracle Consultant and Trainer http://one-size-doesnt-fit-all.blogspot.com Oracle ACE Director - Fusion Middleware

Upload: sage-computing-services

Post on 16-Aug-2015

169 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Take a load off!

Load and stress testing your web applications

(Apex, JDeveloper, web services and more)

SAGE Computing Services

Customised Oracle Training Workshops and Consulting

Chris Muir

Oracle Consultant and Trainer

http://one-size-doesnt-fit-all.blogspot.com

Oracle ACE Director - Fusion Middleware

Page 2: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

“Oh oh,….. those requirements….”

Is our website

slow to use?How many users

can we support?

Is the system useable

by our regional offices

via dialup?

Are we sure our

web application

doesn’t crash

under load?

How much

bandwidth does

our website

use?

Can we support X

users without

system

degradation?

Does our system

respond in a

timely manner?

Page 3: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Image CC DiscoWeasel @ Flickr.com

Page 4: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

• Applications moved to the web

• Apex, ADF, SOA, SaaS etc

• Potentially 1000’s of users

• Systems move beyond 9 to 5

users

• Peak periods = extreme demand

• Quiet periods = near zero

demand

• Multi-tiers of complexity &

performance issues

Image CC kendiala @ Flickr.com

The Need for Load & Stress Testing Web Applications

Page 5: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

• Apache’s JMeter

• Eviware’s SoapUI

Image CC programwitch @ Flickr.com

Page 6: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

So how does this web thing work anyway?

Or “HTTP Protocol 101”

• HTTP Request-Response Cycle

• Headers and Body

• Client Request Types: GETs

and POSTs

• Server Responses: Web

pages and HTTP Error

Codes

Photographer unknown

Page 7: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Apache’s JMeter

• http://jakarta.apache.org/jmeter/

• Load, stress and regression testing utility

• Supports HTTP/HTTPS,

JMS, JDBC, FTP, LDAP

and Web Services

• Simulates 1 or more users

of your system

• Free

Image CC stan @ Flickr.com

Page 8: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Apache’s JMeter Demonstration

Photographer unknown

Page 9: Take a load off! Load testing your Oracle APEX or JDeveloper web applications
Page 10: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Create:

Thread Group

Page 11: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Set:

# Concurrent Users

Page 12: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Set:

# Sequential Runs

Page 13: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Create:

HTTP Request

Page 14: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Define:

Server Address

Page 15: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Define:

Path

Page 16: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Define:

Any URL Parameters

Page 17: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Create:

Next HTTP Request

Page 18: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Image Miguel CD @ Flickr.com

Page 19: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Create:

Thread Group

Page 20: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Create:

HTTP Proxy Server

Page 21: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Define:

Proxy Port

Page 22: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Define:

Target (thread group)

Page 23: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Define:

URL Pattern

Page 24: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Start

Page 25: Take a load off! Load testing your Oracle APEX or JDeveloper web applications
Page 26: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Internet Options

Page 27: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Connections

Page 28: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

LAN settings

Page 29: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Use a proxy server for

your LAN

Page 30: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Define:

AddressDefine:

Port

Page 31: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Visit Application

Page 32: Take a load off! Load testing your Oracle APEX or JDeveloper web applications
Page 33: Take a load off! Load testing your Oracle APEX or JDeveloper web applications
Page 34: Take a load off! Load testing your Oracle APEX or JDeveloper web applications
Page 35: Take a load off! Load testing your Oracle APEX or JDeveloper web applications
Page 36: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Recorded Session

Page 37: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Image (C) Google Inc.

Page 38: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Create:

User Variables

Page 39: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Define:

Each User State

Variable

Page 40: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Reference

• Stress & load testing web applications (even ADF &

Apex) using Apache JMeter: http://one-size-doesnt-fit-

all.blogspot.com/2009/06/stress-load-testing-web-

applications.html

• Configuring Apache JMeter specifically for Oracle's ADF

11g: http://one-size-doesnt-fit-

all.blogspot.com/2010/04/configuring-apache-jmeter-

specifically.html

• Configuring Apache JMeter for Apex: http://one-size-

doesnt-fit-all.blogspot.com/2010/05/configuring-apache-

jmeter-for-apex.html

Page 41: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Define:

Regular Expression

Extractors

Page 42: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Define:

Name

Page 43: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Define:

User Variable

Page 44: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Define:

Regular Expression

Page 45: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Define:

No. Expression to

Extract

Page 46: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Define:

Occurrence to Extract

Page 47: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Identify ADF

Parameters

Page 48: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Insert JMeter

Parameters

Page 49: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Insert JMeter

Parameter

Page 50: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Insert All Other JMeter

Parameters

Page 51: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Create:

Cookie Manager

Page 52: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Create:

Response Assertion

Page 53: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Define:

Response Assertions

Page 54: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Define:

Not!

Page 55: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Create:

Results Tree

Page 56: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

[ Start JMeter ]

Page 57: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Start Run

Page 58: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Count Down

Page 59: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Results

Page 60: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Create:

Aggregate Report

Page 61: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Results

Page 62: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Create:

Graph Results

Page 63: Take a load off! Load testing your Oracle APEX or JDeveloper web applications
Page 64: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Other JMeter Uses

• Bloat your blog visitor statistics

• Denial of service attacks

• On-line click fraud

• Um, Disclaimer: don’t try this at home

JMeter Out-of-the-Box Uses

• Conditional testing

• Periodic verification of internet host or vendor capacity

• Tender software evaluation

Page 65: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Eviware’s SoapUI

• http://www.soapui.org/

• Defacto web service load, stress and regression testing

utility

• Example: http://one-size-doesnt-fit-

all.blogspot.com/2009/08/soapui-for-web-service-

testing.html

• Free

Image CC stan @ Flickr.com

Page 66: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Eviware’s SoapUI Demonstration

Image isabisa @ Flickr.com

Page 68: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

Image CC thornypup @ Flickr.com

Page 69: Take a load off! Load testing your Oracle APEX or JDeveloper web applications

SAGE Computing ServicesCustomised Oracle Training Workshops and Consulting

Questions and Answers?

Presentations are available from our website:

www.sagecomputing.com.au

[email protected]

[email protected]

http://one-size-doesnt-fit-all.blogspot.com