2. Agenda
Oracle iSupplier Portal
Scripting Best Practices for Oracle Apps
Load Test Execution In Oracle Apps
Uniform Load Distribution On Web Servers
Comparative Study of Socket and Servlet Modes
3. 3
Oracle eBusiness application has application server, CCM servers and Data
base servers as shown in the architecture.
3-Tier Architecture
Oracle application architecture
4. 4
The iSP( isupplier portal) program enables real-time, web-based,
information on purchase order delivery commitments to be
communicated between Suppliers and Buyers.
Oracle iSupplier Portal
6. 6
Record Oracle objects by Name rather than a Number.
By default Oracle Objects are recorded by numbers only. These numbers
are dynamic and cannot be relied upon when playing back a script.
nca_edit_set(“31”, ”USERNAME”);
nca_edit_set(“32”, ”PASSWORD”);
To get round this issue Oracle offer the “RECORD=NAMES” method which
associates a name to each object rather than a number.
nca_edit_set(“LOGON_INFO_USER_NAME”,”USERNAME”);
nca_edit_set(“LOGON_INFO_USER_PASSWORD”,”PASSWORD”));
Oracle Load Runner-Recording Prerequisites
7. 7
Record Oracle objects by Name
Select admin responsibility and expand Profile tab and click System
Link.
Goto ICX_FORM_LAUNCHER and Append the following string “?
play=&record=names” with the URL in the provided section and click
Save.
Oracle Load Runner-Recording Prerequisites
8. The socket mode is more used due to its bandwidth advantage
Java servlet handles communication between forms client (java
based) and Oracle Forms Service (10g). All connection is via
HTTP Server so there is no need to start form server and no need
to open form server port between client machine and application
tier.
More secure as compared to Forms Socket Mode. Network
traffic is more so little bit network bandwidth hungry when
compared with SOCKET mode.
In Servlet mode no additional certificate is required during SSL
implementation for application tier, single certificate will handle
both forms & web connection.
Socket mode vs Servlet mode
10. 10
Prefer GUI mode of recording (Oracle 11i Protocol).
Do the correlation for all possible dynamic values.
Parameterize all the input values to make the script dynamic.
Inclusion of title verification header files for the navigational windows
verification is helpful.
Give sub transaction names.
Usage of comments to make script easier to debug
Using the exception handling methods whenever required in the scripts.
Preventing multiple download of the jar files to increase performance of the
script.
Oracle Scripting Standards
11. 11
Require end to end functional knowledge of Oracle Application.
Creating script for the multiple interfaces.
Making test data validation scripts using the checkpoints
Chain scripts required for creating the data for a single script
Opening various periods e.g. inventory accounting periods.
Setups for the employee and Buyers, upgrade roles, allocate
resource
Issues in scripting of Oracle ERP
12. 12
Interface Setups
Test Data Creation
Batch Jobs
Runtime Settings for the Load Test
LG clean up
Load Balancing: Stickiness
Test Execution Setups
13. 13
To use the Oracle Application to its fullest we need some third party
applications like iSupplier, EOM etc which are used by outsiders to come in
contact with the original Oracle Application.
These third party applications get the data from the Original Oracle
Application. But to use this third party application we need to setup an
interface between the Oracle Application and Third Party applications.
Interface Setups
14. 14
In Oracle application we need to generate lot of data as there will be
many
different functionality which need to be tested. We need around 3
times of
data of required throughput for a Load Test as the Load Test will run
with
many users which needs slow ramp up which in turn makes our Load
Test to
run for longer duration.
Test Data Creation
Test Data Validation
Application Setups
Test Data Creation:
15. 15
AppWorx is an application management tool that lets you submit jobs on an
adhoc basis, create sophisticated batch schedules, and view and print
output from jobs online.
It helps you in managing jobs enterprise wide-
across all platforms, databases, applications,
and computing environments.
Schedules jobs dynamically, responding to changing
circumstances, distributing loads efficiently across the
enterprise, and ensuring that performance goals are met.
Triggers jobs based on events as well as times and dates.
AppWorx is capable of dynamically automating applications. This contrasts
with typical job scheduling tools that rigidly schedule system events or
scripts.
Batch Jobs
16. 16
Very important part of Load Test is the correct Run Time Setting, if
the correct Run Time Settings are not done there may be possibilities
of issues during the Load Test. So below are the Run Time Settings
which are important for successful Load Test of Oracle Application.
There are some setting which are need to be done specially for
Oracle Application Load Test:
1. Preference
2. Browser Emulation
3. Pacing
4. Think Time
Runtime Settings for the Load Test
17. 17
During the Oracle Load Test, most of the time scripts fails because of
Step Download time out issue, so to overcome this issue Step
Downloads Time settings need to be increased. Below are the
parameters which need to be increased to have a successful run.
Preference
18. 18
It is advisable to uncheck the “Simulate a new user on each iteration”
option while running the load test as it increase the session in the
oracle data base
Browser Emulation
19. 19
Pacing need to be correctly calculated depending on the throughput
before running a load test so that after the load test we will have
correct number of throughput.
Pacing
20. 20
Variable Think time need to be provided to create a real time scenario
as all
the users doesn’t take the same amount of time at all the modules of
Applications
Think Time
21. 21
Using the Vuser status function:
This function helps in controller during execution and creates the history in log files also.
Using this function we can easily find which user is running in which iteration and generated
through which load generator.
lr_vuser_status_message("%s", lr_eval_string("Record Details Iteration {Which Iteration},
SSO ID: {appsuserid}, Agent {Load Generator}"));
The script name should not be very large:
The script name should not be very large otherwise the script files will not be transferred to the LG.
LGs need to be cleaned and restarted:
To have a good load test without any issue with the LGs it is preferred to clean the LG by cleaning
all the files present in temp
Oracle Load Test Execution Best Practices
22. 22
Getting “sending files error” error during Load Test:
It deals with the parameter naming conventions.
Parameter name and file name should be same.
No multiple copy of parameter file at hard drive.
Back end locking issue
Some time due to huge user load of particular transaction(eg.500), backend
locking happens and Vusers starts to fail after particular threshold. In this case
we need to do changes in the script and its assignment in the controller.
Sufficient Rampup Time
To overcome HTTP - 500 error during Vuser init(), we can increase Rampup
time.
Concurrent Program Burning the Data of the script:
Make sure that the concurrent programs which need to be run during the load
test should not burn any type of data which we are using for the Load Test if it is
doing then some remedial steps need to be taken to avoid this.
Oracle Load Test Execution Best Practices
23. 23
Load Balancing- IP Stickiness:
Distributing load among all the apache web servers equally.
Uniform Load Distribution
Load Balancer
Firewall Firewall
Virtual User from
Load Generator-3
Virtual User from
Load Generator-2
Virtual User from
Load Generator-1
24. 24
MSA Process Steps in detail
Bring down all the nodes of the Web server
Bring up Web server “Node-1” and down “Node-2 and Node-3”
Execute the MSA Scenario
• Execute “Application Login“ business process for 1 user 10 iteration from
load generator “ LG-1” machine only
Bring up Web server “Node-2” and down “Node-1 and Node-3”
Execute the MSA Scenario
• Execute “Application Login“ business process for 1 user 10 iteration from
load generator “ LG-2” machine only
Bring up Web server “Node-3” and down “Node-2 and Node-1”
Execute the MSA Scenario
• Execute “Application Login“ business process for 1 user 10 iteration from
load generator “ LG-3” machine only
• Bring up all Web server Nodes.
Uniform Load Distribution contd…
25. 25
Controller Crash during Load Test:
Some times we find the issue of Controller getting crashed during Load
Test. It happens when we don’t have enough virtual memory in the
machine which is used as controller.
To avoid the above issue it is advised to check memory in the machine
before running any load test.
Some times we find the issue of Controller getting crashed during Load
Test. It happens when we don’t have enough virtual memory in the
machine which is used as controller. Problem can be resolve by
increasing size of Virtual Memory in controller.
The below pop up comes during the Load Test and automatically
controller disappears.
Controller Crash during Load Test
26. 26
Some times we find the issue of Controller getting crashed during
Load Test. It happens when we don’t have enough virtual memory in
the machine which is used as controller. Problem can be resolve by
increasing size of Virtual Memory in controller.
Controller Crash during Load Test
27. 27
Sonu is working as Senior Performance Engineer in Performance practice, TCS.
He has more than 10 years of diverse technical experience in serving various
US,UK based customers in Financial Services, Insurance and Manufacturing
domain. His area of expertise includes performance testing & engineering, for
ERP based applications using market standards tools like LoadRunner, Jmeter,
etc.
He holds a B. Tech in Computer Science from UP Technical University , India
and bachelor's degree from Thapar Institute of Engineering & Technology, India.
About the author
Agenda slide:
Heading – Agenda - Font size 30, Arial Bold
Please restrict this slide with just 5 agenda points. If you have more than 5 points on the agenda slide please add another slide. If you have only 3 then you can use just one slide and delete the other 2 points.
Content Slide: This is usually the most frequently used slide in every presentation.
Use this slide for Text heavy slides. Text can only be used in bullet points
Title Heading – font size 30, Arial bold
Slide Content – Should not reduce beyond Arial font 16
If you need to use sub bullets please use the indent buttons located next to the bullets buttons in the tool bar and this will automatically provide you with the second, third, fourth & fifth level bullet styles and font sizes
Please note you can also press the tab key to create the different levels of bulleted content