Load Testing & Apache JMeter
-
Upload
wo-community -
Category
Technology
-
view
2.615 -
download
1
description
Transcript of Load Testing & Apache JMeter
![Page 1: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/1.jpg)
Load Testing & Apache JMeterChuck HillGlobal Village Consulting, Inc.WOWODC 2010
![Page 2: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/2.jpg)
• Why?
• What?
• When?
• Where?
• How?
What, Why, How?
![Page 3: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/3.jpg)
Planning for Load Testing
• Time
• Tools
• Equipment
• Information
• Lots of data
![Page 4: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/4.jpg)
JMeter Components
![Page 5: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/5.jpg)
HTTP Cookie Manager
![Page 6: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/6.jpg)
HTTP Request Defaults
![Page 7: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/7.jpg)
Thread Group
![Page 8: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/8.jpg)
Sampler
![Page 9: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/9.jpg)
Listeners
![Page 10: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/10.jpg)
Timers
![Page 11: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/11.jpg)
Assertions
![Page 12: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/12.jpg)
Test Parameterization
• Parameterize for
• different environments
• different scenarios
• different data
• Start Early!
![Page 13: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/13.jpg)
Parameters on Test Plan
![Page 14: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/14.jpg)
Thread Group Parameters
![Page 15: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/15.jpg)
Thread GroupSpecific Parameters
![Page 16: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/17.jpg)
Session ID and Instance Number
![Page 18: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/18.jpg)
Use Matches in URL
![Page 19: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/19.jpg)
Find Context ID
![Page 20: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/20.jpg)
Use Context ID
![Page 21: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/21.jpg)
Recording Tests
• Record and refine
• Use Selenium for repeatability
• Run tests slowly
![Page 22: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/22.jpg)
Recording Problems
• ERXSwitchComponent
-Der.extensions.WOSwitchComponent.patch=false
• Copy and Paste to Test Plan
![Page 23: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/23.jpg)
Delays for Reality
• Pause for realistic results
• Constant Timer
• Gaussion Random Timer
• Uniform Random Timer
• Combinations of Timers
![Page 24: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/24.jpg)
Ajax!
• The good news...
• The bad news...
• XPath Extractor
• JavaScript
• AjaxUpdateContainer and friends
![Page 25: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/25.jpg)
Data Driven Tests
![Page 26: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/26.jpg)
Upload Problem
![Page 27: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/27.jpg)
Running the Tests• Run from GUI
• Run from command line / script
• Run from multiple machines
![Page 28: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/28.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/29.jpg)
Summary Report
![Page 30: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/30.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/31.jpg)
Creating Readable Tests
![Page 32: Load Testing & Apache JMeter](https://reader036.fdocuments.us/reader036/viewer/2022081717/5485f9a2b4af9faf0d8b4f6b/html5/thumbnails/32.jpg)
Q&ALoad Testing and Apache JMeterChuck HillGlobal Village Consulting