take a load off! load testing your oracle apex or jdeveloper web applications
TRANSCRIPT
![Page 1: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/1.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/2.jpg)
“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](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/3.jpg)
Image CC DiscoWeasel @ Flickr.com
![Page 4: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/4.jpg)
• 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](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/5.jpg)
• 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](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/6.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/7.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/8.jpg)
Apache’s JMeter Demonstration
Photographer unknown
![Page 9: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/9.jpg)
![Page 10: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/10.jpg)
Create:
Thread Group
![Page 11: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/11.jpg)
Set:
# Concurrent Users
![Page 12: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/12.jpg)
Set:
# Sequential Runs
![Page 13: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/13.jpg)
Create:
HTTP Request
![Page 14: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/14.jpg)
Define:
Server Address
![Page 15: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/15.jpg)
Define:
Path
![Page 16: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/16.jpg)
Define:
Any URL Parameters
![Page 17: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/17.jpg)
Create:
Next HTTP Request
![Page 18: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/18.jpg)
Image Miguel CD @ Flickr.com
![Page 19: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/19.jpg)
Create:
Thread Group
![Page 20: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/20.jpg)
Create:
HTTP Proxy Server
![Page 21: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/21.jpg)
Define:
Proxy Port
![Page 22: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/22.jpg)
Define:
Target (thread group)
![Page 23: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/23.jpg)
Define:
URL Pattern
![Page 24: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/24.jpg)
Start
![Page 25: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/25.jpg)
![Page 26: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/26.jpg)
Internet Options
![Page 27: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/27.jpg)
Connections
![Page 28: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/28.jpg)
LAN settings
![Page 29: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/29.jpg)
Use a proxy server for
your LAN
![Page 30: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/30.jpg)
Define:
AddressDefine:
Port
![Page 31: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/31.jpg)
Visit Application
![Page 32: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/32.jpg)
![Page 33: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/33.jpg)
![Page 34: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/34.jpg)
![Page 35: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/35.jpg)
![Page 36: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/36.jpg)
Recorded Session
![Page 37: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/37.jpg)
Image (C) Google Inc.
![Page 38: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/38.jpg)
Create:
User Variables
![Page 39: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/39.jpg)
Define:
Each User State
Variable
![Page 40: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/40.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/41.jpg)
Define:
Regular Expression
Extractors
![Page 42: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/42.jpg)
Define:
Name
![Page 43: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/43.jpg)
Define:
User Variable
![Page 44: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/44.jpg)
Define:
Regular Expression
![Page 45: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/45.jpg)
Define:
No. Expression to
Extract
![Page 46: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/46.jpg)
Define:
Occurrence to Extract
![Page 47: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/47.jpg)
Identify ADF
Parameters
![Page 48: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/48.jpg)
Insert JMeter
Parameters
![Page 49: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/49.jpg)
Insert JMeter
Parameter
![Page 50: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/50.jpg)
Insert All Other JMeter
Parameters
![Page 51: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/51.jpg)
Create:
Cookie Manager
![Page 52: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/52.jpg)
Create:
Response Assertion
![Page 53: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/53.jpg)
Define:
Response Assertions
![Page 54: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/54.jpg)
Define:
Not!
![Page 55: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/55.jpg)
Create:
Results Tree
![Page 56: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/56.jpg)
[ Start JMeter ]
![Page 57: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/57.jpg)
Start Run
![Page 58: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/58.jpg)
Count Down
![Page 59: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/59.jpg)
Results
![Page 60: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/60.jpg)
Create:
Aggregate Report
![Page 61: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/61.jpg)
Results
![Page 62: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/62.jpg)
Create:
Graph Results
![Page 63: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/63.jpg)
![Page 64: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/64.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/65.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/66.jpg)
Eviware’s SoapUI Demonstration
Image isabisa @ Flickr.com
![Page 67: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/67.jpg)
[ View WSDL ]
[ Start SoapUI ]
![Page 68: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/68.jpg)
Image CC thornypup @ Flickr.com
![Page 69: Take a load off! Load testing your Oracle APEX or JDeveloper web applications](https://reader034.vdocument.in/reader034/viewer/2022052205/55d03cdcbb61eb07788b46c5/html5/thumbnails/69.jpg)
SAGE Computing ServicesCustomised Oracle Training Workshops and Consulting
Questions and Answers?
Presentations are available from our website:
www.sagecomputing.com.au
http://one-size-doesnt-fit-all.blogspot.com