NeoLoad® Documentation

3.2

All right reserved. No part of this book shall be reproduced, stored in a retrieval system, or transmitted by any means, electronic, mechanical, photocopying, recording, or otherwise, without written permission from the publisher and the copyright holder.

23 January 2012


Table of Contents

I. Getting Started
1. Overview
Welcome to NeoLoad Help
Contents
Formats
Legal Issues
About Load Testing
Why Load Test Web Applications ?
Load Testing with NeoLoad
2. Installation
Requirements
Operating System
Disk Space
CPU & Memory
Installation
Installing the Controller
Installing a Load Generator
License Key Management
The Standard Key
The Floating Key
Changing Mode
Running NeoLoad
Running the Controller
Launching the Load Generator Agent
Stopping the Agent
Files
The Installation Directory
The User Directory
Project Directory
Log Files
Migration
Framework Parameters
Advanced Installation
Using a Firewall Between the Controller and Load Generator
Increasing Available Memory for Load Generators
Increasing Available Memory for the Controller
Activating 256-bit Encryption Keys
Activating Encryption Between the Controller and Load Generators
3. Quick Start
Recording the Test Scenario
Running the Test
Test Results
To Learn More
II. Reference Guide
4. Menus
5. Preferences
Global Preferences
HTTP Recorder Settings
Proxy Settings
Browser Settings
Skins
Graphs
Frameworks
License
Oracle Forms
Adobe Flex/AMF
Advanced Settings
Project Preferences
Page Naming Policy
SSL Client Certificates
Web Services Security
Runtime
Oracle Forms
Modules Manager
CA Application Performance Management
dynaTrace
Advanced
6. Design
Recording a Test Scenario
Recording HTTP Applications
Recording an HTTPS Application
Recording Adobe RTMP Applications
Starting Recording
Creating a Virtual User Profile
The Recording Bar
Post-Recording Wizard
Troubleshooting
Servers
Authentication
Supported authentication mechanisms
The Negotiate scheme with SPNEGO and Kerberos
Scheme priority order
Virtual Users
Creating a Virtual User
Virtual User Runtime Settings
Customizing a Virtual User
Checking a Virtual User
Web Pages
Requests
HTTP Requests
SOAP Requests
Oracle Forms Requests
Adobe Flex/AMF requests
Adobe RTMP Requests
Google Web Toolkit requests
Java Serialization Requests
Siebel Requests
Silverlight Requests
Polling Requests
Streaming Requests
Push Messages
Validation
Global Validation
Variable Extractors
Advanced Parameters
Shortcuts
Logical Actions
Delay
Loop
While
If ... Then ... Else
Variable Modifier
Containers
Random Containers
Try ... Catch
Stop Virtual User
Fork
Wait Until
JavaScript
Rendezvous
Frameworks
Concept
Framework Dynamic Parameter Handling
Generic Dynamic Parameter Handling
Searching for Dynamic Parameters in NeoLoad
Push Frameworks
Context
Definition
Modified Virtual Users
Frameworks
Shared Containers
Sharing a Container
Using a Shared Container
Actions on Shared Containers
Populations
Percentage
Bandwidth
Cache management
Use cookies
Browser
Connection
User Agent
Variables
Creating a Variable
Shared Queues
The Variable Extractor
Predefined Variables
Testing a Variable
Using Variables
Using the JavaScript API
Search and Replace
Overview
Search Criteria
Replacements
Flags
Flagging Criteria
Scope
Importing and exporting a project
Importing a project
Exporting a Project
7. Monitors
Overview
Presentation
Creating and Configuring a Monitored Machine
Creating and Configuring a Monitor
Creating and Configuring a Counter or an Indicator
Setting and Configuring a Counter Alert Threshold
Operating Systems
Linux Monitor
Solaris Monitor
AIX Monitor
HP-UX Monitor
Microsoft Monitors
Microsoft Windows Monitor
VMWare Monitor
Network
RSTAT Monitor
SNMP Monitor
Databases
Oracle DB monitor
Microsoft SQL Server Monitor
MySQL Monitor
DB2 Monitor
PostgreSQL Monitor
Web/EJB Tier
Microsoft IIS Monitor
Apache Monitor
Microsoft .Net Monitor
WebLogic 8 Monitor
WebLogic 9/10/11 Monitor
WebSphere Monitor
JBoss Monitor
Tomcat 5.5/6.0/7.0 Monitor
Oracle Application Server 9.X-10.X Monitor
Oracle Application Server 10.1.3 Monitor
JOnAS Monitor
GlassFish Monitor
SAP NetWeaver Monitor 7.0
SAP NetWeaver Monitor 7.1
LiveCycle Data Services Monitor
8. Runtime
Test Settings
Scenarios
Duration Policy
Load Policy
Zones and Load Generator Hosts
Population Advanced Settings
Scenario Advanced Settings
NeoLoad Cloud Testing
Presentation
Creating an On-Demand Cloud Session
Using a Cloud Session Reserved Previously
Cloud Load Generators
Managing Cloud Sessions
Runtime supervision
Starting the Test
Stopping the Test
Runtime Overview
Real-Time Graphs
Real-Time Errors
Real-Time Alerts
Viewing Virtual Users in Real Time
9. Results
General Information
Selecting a Test
Deleting a Test
Filtering by Zone, Population or Virtual User
Virtual User, Container, Web Page and HTTP Request Statistics
Push Message Statistics
The Results Manager
Select
Compare
Filtering
Test folder
Generating a Report
Deleting a Test
Test Summary
Selecting a Summary
Content
Graphs
Working with Graphs
Graph Features
Features Specific to the Results Section
Values
Element Types
Results Table
Plotting Curves
Indicators
Exporting Data
Errors
General Information
Detailed Error Information
Selected Error Details
Previous Request
Alerts
General Information
Alert Information
Alert Graphs
Debug
General User Runtime Information
Validating a User's Runtime
Reports
The Report Wizard
Report Type
Report Contents
Output Options
Test Results Comparison
Comparing Results in the GUI
Generating a Comparison Report
Test Result Filters
Filtering in the GUI
Available Filters
Filtering Test Results
Generating a Filtered Test Report
Load Generator Logs
III. User guides
10. Design User Guide
Key Steps
To Learn More
11. Oracle Forms User Guide
Overview
Prerequisites
Configuring NeoLoad
Configuring the Oracle Forms Server
Examples of Recordings
Preview
Message Object
Message Structure
Request Naming
Advanced Configuration
General Settings
Project Settings
Advanced Design
Understanding the Context
A Component's Life cycle
Correlating Dynamic Component Names
Limitations
Best Practices
Design
Validation
Runtime
Troubleshooting
Design
Runtime
12. Best Practices
Defining Objectives
Types of objective
Defining criteria for success or failure
Producing a Realistic Test
Defining the number of Virtual Users.
Defining several types of Virtual Users
Using different user accounts and values
Testing load balancers
Simulating actual user bandwidth
Tips
Making your Results Talk
Producing Informative Results
Using results
13. Heavy Load Testing Guide
Introduction
NeoLoad Scenarios
Minimize the Number of Validations
Avoid Validations and Extractions on Bulky Inputs
Optimize Regular Expressions
Optimize Extractions from XML Responses
Avoid Multiplication of Virtual Users
Minimize the Use of JavaScript Actions
NeoLoad Controller
Launch Scenarios with a Fixed Duration
Monitor Using a Top-down Approach
Avoid Debug Mode
Warm Up Your Application Server
Plan for Large Amounts of Memory for the NeoLoad Controller
Reduce Error Management
Save your Projects Locally
Adjust Load Generator Start-Up Timeout
NeoLoad Load Generators
Allocate Sufficient Memory to the Machines Hosting Controllers and Load Generators
Make Sure the Machines Running the Generators are Adequately Dimensioned
Caution when using virtual environments
Network Tuning and Configuration
Increase the Number of Simultaneously Opened Sockets
Use Several Network Cards for Load Generators
Distribute NeoLoad Communication Channels Over Different Networks
Prefer a "Server" Tagged Operating System for your Application Servers
IV. Tutorials, F.A.Q and Troubleshooting Guide
14. F.A.Q
General
Design
Runtime
Analysis
Errors
15. Troubleshooting Guide
16. Tutorials
Introduction
Design - General
Creating Business Transactions
Logging in With Multiple Accounts Using a CSV File
Creating Realistic Populations
Validating a Server Response
Executing Java Code
Design - Dynamic Parameters
Choosing a Data Extraction Method
Handling an Application's Dynamic Parameters
Creating a Variable Extractor
Submit a Form from the Previous Request
Follow a link from the previous request
Using Framework Parameters to Automatically Search for Dynamic Parameters
Design - Technologies
SOAP: Testing Web Services
Adobe Flex/AMF: Handling External Libraries
Adobe Flex/AMF: Handling Polling and Streaming
Adobe RTMP : Handling External Libraries
Google Web Toolkit: Managing External Libraries
Java Serialization: Handling External Libraries
Oracle Forms: Designing a Scenario with Iterations
Siebel CRM Software
Analysis
Analyzing Errors in the Errors Panel
Comparing Several Test Results
Miscellaneous Items
Monitoring an Application Server or Database
Using Additional Load Generators
Scheduling a Test
V. Appendix
A. Regular Expressions
Overview
Introduction
Using regular expressions
Quick Reference
Special character definitions
Character classes
Pre-defined character classes
Examples
Extracting a URL parameter value
Extracting a Form Parameter Value
Extracting HTTP headers
Extracting miscellaneous values
Common Errors & Tips
Use of the question mark '?'
Brackets
Spaces
Multi-Line
Links to Regex Resources
Links to Regex Testers
B. Status Code Definitions
Informational 1xx
100 Continue
101 Switching Protocols
Successful 2xx
200 OK
201 Created
202 Accepted
203 Non-Authoritative Information
204 No Content
205 Reset Content
206 Partial Content
Redirection 3xx
300 Multiple Choices
301 Moved Permanently
302 Found
303 See Other
304 Not Modified
305 Use Proxy
306 (Unused)
307 Temporary Redirect
Client Error 4xx
400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
409 Conflict
410 Gone
411 Length Required
412 Precondition Failed
413 Request Entity Too Large
414 Request-URI Too Long
415 Unsupported Media Type
416 Requested Range Not Satisfiable
417 Expectation Failed
Server Error 5xx
500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported
C. NeoLoad Status Codes
D. NeoLoad Javascript API
Class LoadGenerator
Synopsis
id
name
getZoneName()
Class Logger
Synopsis
debug(String)
error(String)
fatal(String)
info(String)
isDebugEnabled()
isErrorEnabled()
isFatalEnabled()
isInfoEnabled()
isWarnEnabled()
warn(String)
Class RendezvousManager
Synopsis
hasRendezvous(String)
isEnabled(String)
setEnabled(String, Boolean)
unblock(String)
unblock(String, int)
unblockAll()
Class RuntimeContext
Synopsis
currentLG
currentVU
variableManager
fail()
fail(String)
fail(String, String)
getElapsedTime()
getTestStatus()
Class VariableManager
Synopsis
addSharedValue(String, String)
changeValue(String)
createSharedQueue(String, int, int)
createSharedQueue(String, int, int, String, char, boolean, boolean)
getSharedQueueSize(String)
getValue(String)
parseString(String)
peekSharedValue(String)
pollSharedValue(String)
setValue(String, String)
Class VirtualUser
Synopsis
id
name
get(Object)
getElapsedTime()
getPopulationName()
put(Object, Object)
remove(Object)
setCookieForServer(String, String)
stop()
Glossary

List of Tables

2.1.

List of Examples

5.1. Apache-Tomcat server on Windows :
5.2. Apache-Tomcat server on Windows :
5.3. On Windows :
5.4. On Windows :
7.1. Oracle JDBC URL:
7.2. MySQL JDBC URL:
7.3. DB2 JDBC URL:
7.4. PostgreSQL JDBC URL:
16.1. Example of load balancing according to load factor