Thoughts on Load Testing an AJAX application
Greetings Fellow Empirix users. I am about to faced with the need to begin testing a new AJAX based application and I would like to know if there are any lessons learned or experiences that could be shared from other folks engaged in similar efforts. I am pretty sure I have an idea how I am going to script out the navigation but it seems to me that I am going to need timing right down to actual requests rather than pages. I would also like to know if there is any issue with agent scalability because if I am dealing with a smaller group of requests that happen without user think time because of the chatty nature of AJAX will I need more horse power on the agents because of the requests they need to generate.
Your thoughts and experiences are most welcome at this time!
I've had the pleasure of doing some preliminary performance testing of Ajax applications in a demo/POC mode. Some thoughts:
- Ajax-enabled sites do nothing "magic". The major difference between an ajax enabled site and a "regular" browser-based application is that:
+ in a browser it's ONLY the browser that makes HTTP requests. As such - it's really easy to see that when I "do something" in the browser it creates a corresponding http (or set of http) requests. When running load tests, all we have to worry about are recording and playing back those browser requests.
+ in an ajax-enabled application it's the browser PLUS a "third-party" application that makes http requests. This third-party application may be the "msxml" ActiveX control, might be a java applet, etc. When running load tests, we now have to worry about recording and playing back ALL of those requests.
- If we want to properly record "browser based" applications - just doing default browser recording in e-Tester is usually enough. However, with ajax, one needs to enable "proxy" recording in order to ensure we capture ALL http requests being generated by both the browser AND the third-party application.
- PLEASE NOTE. If you use the proxy to record all these navigations, the e-Tester Script may lose it's "nice" event-to-navigation correlation, making "UI" style playback inconsistent. Since this is a load testing script - make sure you do all playbacks in Navigation Editor Thin Client.
- Now that we have recorded all of the correct navigations, we have to make sure we play them back correctly. With browser-based apps, correct playback is largely automatic because e-Tester "knows" what UI events "caused" the corresponding http request. With ajax, you may have requests that are - for lack of a better term - "unattached" to any UI events.
+ You may use the Navigation editor to properly parameterize the ajax request. This may be something simple like attaching databank records, or more complex where you have to send a session ID or the like. In my experience, ajax requests are pretty simple in format and may need very little "massaging".
+ make use of "Custom Libraries"! Most applications built by companies have a very few set of things that need to be "massaged". Putting these parameters in the library will allow you to build scripts that are "parameterized" automatically - saving lots of time.
That's all for now - don't want to make things too long.
Similar Messages
-
Require Help on Load Testing for Oracle Applications
Hi,
I have to do a Load Testing on Oracle Application 11i. I am not able to understand from where do I need to start.
Could any one please help on this ?
Ramu.The tool which I am using for this is "Oracle Application Testing Suite".
Any help welcome !
Ramu -
Performance and Load testing for Agentry applications in SMP2.3
Hello Experts,
We have a requirement to carry out the Performance and Load testing for our SAP Work Manager application (SMP2.3).
Please guide me if ATE (Agentry Test environment) / Jmeter / or any other testing tool can be utilized for the same.
Would be great if you could provide me the steps / references for the same.
Thanks,
AbhishekHi Abhishek,
Please refer this document Agentry - Assets for Admins & Architects. It has very good content which explains about performance testing and performance tuning.
Rgrds,
Jitendra -
Load Testing an Oracle Application
Hi , Kindly advice what are the best performance testing tools for an application housed completely in Oracle database and rendered by OWA technology . Also the application is so built that the displayed attributes are picked from the tables . Each page is dynamically built as per the conditions being fulfilled by user action on earlier attributes .
Thanks a lot .
Regards,
Ashish Roy.Hi,
Great, any new methods added to OpenScript and also any existing methods changed to deprecated.
Regards,
Deepu M -
Do load test for application installed in Weblogic 10.3.4 using OATS 9.31
Hi Friends,
I need to do a load test for my application deployed in Weblogic 10.3.4. I went on to use the Oracle Application testing Suite (OATS 9.31). But it says its compatible only upto Weblogic 10.3.3. So pls advice me to find a way to load test my oracle fusion application deployed in the current server.
Thanks and regards,
VijaiHi,
Maybe worth also trying the WLS forum for what folks over there use: WebLogic Server - General
Frank -
Hello,
What programs have you been using for load testing a Forms application? I tried JMeter, but I can't get the proxy working for recording (Forms loses connection to the runtime process). Anyone had any success with this?You need to use a NIO client to drive the server. If you have written the server, writing a client should be much the same.
The reason you need to do this is that if you use a blocking IO client you will need too many threads to ever saturate your server.
We have a NIO based server which supports XML connections between client and server. To give you an indication, having about 2500 connections with upto 10 XML packets per connection per second results in about 2-12% CPU consumption. (Two CPU Solaris) We should be able to handle about 8000 clients per server but are yet to see this in production. -
Best load test software for RTMP application
Hi everyone,
I'd like to run some load tests for my application (AIR 3.4, Flex 4.6). I'm using flex messaging protocol RTMP and I was wondering which software could easily (or not) simulate my Producer job and how.
Any feedback would be greatly appreciated.
Regards,
FabienHi Fabien,
Have you heard about NeoLoad from Neotys?
It is a load testing tool for Web applications. It is very focused on all RIA’s included Flex and RTMP.
I’m working for the company, and you could think that my opinion is biased here.
I then invite you to have a try yourself and download the trial version at www.neotys.com.
It includes all RTMP and Flex capabilities. You’ll see how NeoLoad makes easy the handling of that protocol.
Our website gives explanation on RTMP load testing, that might be helpful too.
The last but not the least, we’re Adobe partner. Our tool has been designed accordingly to all RTMP requirements. You can go ahead with confidence.
Regards,
Olivier Hanoun. -
How to set Proxy for IE 8.0 on doing Load Testing with OATS 12.1.0.2
I have tried adding proxy server by adding the address to "Localhost" and Port as 8080.
but nothing is working out, for recording an EBS instance its working fine ,no need to setup anything in the OATS tool, eg, Proxy settings.
But when it comes to BPM with ADF technology , the recorder is not starting the Recording even the pointer navigation also not wokring.
So, is there way to record the ADF applications in BPM ?
Thanks in advance.Hi Wayne,
Thing is do we need to add the proxy server here?, as for doing Load testing on EBS application,there is no need of adding a proxy server,
So the same way it should work with the ADF application too, but its not showing any mouse pointer in the Browser tool bar or recording
the navigation.
Point to be noted is, we need to connect to VPN in order to access the Application.
is it because of VPN connection that its not recording?
But while doing the functional testing I didn't face anyproblem though as its recording everything even if we are connected to VPN.
In Functional testing also i found ,all the input fields where we add the "username" or any input data via a "text box" the tool is not able to
record the field information along with the input we enter.
If you could let me know ,how to do a Load testing for ADF application using BPM , it would be helpful
Thanks
Atish -
Hi,
I am using visual studio 2013. After running a load test on my application, I need to view the "90% Page Time", "95% Page Time" and "99% Page Time" percentile data in tabular results view. But since I have started
using visual studio 2013, these columns appear blank after load test execution is completed. Is there a specific configuration change is required to view data from these columns ?
Please refer attached screen shot -
Help much appreciated.
Thanks,
Rahul S.Hi Rahul S,
To collect the data, in the Load Test Editor, under the Run Settings node, select the run setting node to change. In the
Properties window, for the Timing Details Storage property, select
All Individual Details.
Best Regards,
Jack
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
Oracle ADF - OATS Load Testing
Gurus,
I was trying to do load testing with Oracle Application Testing Suite, after recording when I try to play it back the results are showing so many authentication errors - "Failed HTTP response code: 401 Unauthorized ".
Any suggestions how can we make it work?
Thanks
PrasadWrong forum.
Try: JDeveloper and ADF -
Which tool do you use for load testing?
Which tool do you use for load testing for J2EE application?
hi,
i use jmeter for without issues..
first make sure that the system from where you are doing load testing is in the same lan(without firewall) to that of server. Here you are testing the capacity of server and not the network bandwith.
So assuming very good network connection what is the servers performance level...
If u have to decide which tool is decent enough to load testing,
i would suggest go for jmeter. its reliable and i have used it without problems.
Here is my quick tutorial for jemeter which i made for my teams reference.
REFERENCE
For Getting Started refer to any tutorial for Jmeter
You can refer to introduction on
http://jakarta.apache.org/jmeter/usermanual/
RUNNING LOAD TEST
Extract jakarta-jmeter-2.3RC4.zip in c:
install jdk-1_5_0_12-windows-i586-p.exe
Run C:\jakarta-jmeter-2.3RC4\bin\jmeter.bat
In Test Plan add Thread Group
Right Click Thread Group -> Add->Sampler->HTTP Request
Select HTTP Request added fill details
Serverip:www.xyz.com
Port:80
Path:/xyz-webapp/index.jsp
Use KeepAlive: Checked
Retrive All Embeded images from HTML: Checked(For geting images inside html)
Right Click Thread Group -> Add->Listner->Graph Results
Click on Thread Group Fill details
No of Threads:3(This means no of simultaneous users)
Ramp Up Period:1(3 Request will be made in 1 second period)
Loop Count:5(Above process should be repeated how many times)
Save TestPlan
Run -> Clear All
Run -> Start
Click on Graph Results for Output
Try adding different listener in Thread Group
Thread Group -> Add->Listner->Summary Report
Listeners coud be added at thread group level or HTTP Request Level
RECORDING A TEST.
Add a HTTP proxy server in workbench by right clicking on it and selecting Add->Non test Element->HTTP Proxy Server.
In Test Plan Add Thread Group
In HTTP proxy server select Target Controller as Test Plan > Thread Group.
Go to Internet Explorer and go to internet settings and set proxy server as localhost and the port
which is configured in Jmeter proxy server.Save Settings.
In Jeter proxy server start by Clicking on Start button in the HTTP Proxy Server Flap.
In browser navigate the application which you want to test.
The nodes will be added in the Thread Group.
Once Navigation is done stop the proxy server and save the test plan from file menu.
LOGGING INTO APPLICATION.
When we have to login into system and then navigate the system
we need a cookie to be tracked after login. This could be achieved
simply by Add -> Config Element -> HTTP Cooie Manager.
After adding the HTTP Cooie Manager simply run the test.
LOOPING COUNTER.
When a request is made multiple parameter is sent to server.
Parameters are sent from the HTTP Request node added in the Thread Group
in "Send Parameter with the request" table.
If we run the loop count 10 times the parameters will be sent same in every request.
If you have to send parameters like user1,user2,user3,user4....
then add -> Pre processor -> Counter.
Put start as 1 and and Maximum as 10 or whatever required.
Put Referene name as iCtr or whatever.
In the "Send Parameter with the request" in value column put user${iCtr} -
OATS distributed load test agents
Hi,
1) I am preparing to perform a distributed load test on web application. full load is 500 users.
How many agent test servers do I need for this test?
How do i determine the number of servers, as I can't find any best practices or guide online.
2) Is there limitations on the full OATS download via oracle website? i heard that its a 30 day trial but its not stated anywhere of the 30 days limitation.
JosephHi
You don't need to install the data collector in the servers, you can access then remotely using JMX in case of weblogic or JDBC in case of the DB.
You only need to install the agent in the server if you have a close DMZ as then you only need to open the port for the data collector (think is 9001) to the controller instead of opening all the ports needed for monitoring.
Even getting server OS level stats for uinx type servers the datacolector will open an SSH connection and gather the stats, and for windows it can connect remotly using perfmon.
*Note that perfmon uses dynamic ports making it very difficult to guarantee network connections.
Regards
Alex -
Hi,
Can someone give me an idea of database load testing. Suppose testers are performing load testing on any application & we have to check load (bottlenecks) on database side, then what are the areas we might need to observe from database side.
Oracle version - 10.2.0.3
Thanks in advanceCheck if the server is ok with memmory and cpu usage and swap..........
ON database side check the long running active sessions where they are waiting and suggest something so that these queries can speed up. You can suggest code change like new indexes , hints or outlines etc.....after checking the waits and sql plans of various slow sql statemenets -
Clarification about Load testing - BC4J - Rational Suite Enterprise edition
Hi,
I have a query from an Oracle Partner as follows:
We are talking about Rational Suite enterprise edition
2003 for load testing for 500 virtual users in the application.
Further we want to know, whether BC4J component generated by the
JDeveloper support rational VU technique in terms of traffic generation
for volume/performance/load testing for said application.
Whenever I tried to generate traffic for one virtual user, this gives
"generic component, can not identify" in a particular BC4J component.
Otherwise rational tool identify all java classes and generate traffic
except BC4J component.
Pl confirm
ThanksHi,
I have a query from an Oracle Partner as follows:
We are talking about Rational Suite enterprise edition
2003 for load testing for 500 virtual users in the application.
Further we want to know, whether BC4J component generated by the
JDeveloper support rational VU technique in terms of traffic generation
for volume/performance/load testing for said application.
Whenever I tried to generate traffic for one virtual user, this gives
"generic component, can not identify" in a particular BC4J component.
Otherwise rational tool identify all java classes and generate traffic
except BC4J component.
Pl confirm
Thanks -
Is it possible to load test Ajax calls using eLoad? If so, please let me know the steps to follow in eTest version 8.20.
Thank you!As well as proxy recording, I recommend you create a java agent script. Your proxy recording will create a static sequence of ajax navigation just as they happened during your recording. You may find that you want a finer level of control, and the Java Agent will give this ability by allowing you write java code to make more complex real time decisions.
This may get you started:
Re: Create test scripts using e-Tester without using visual scripts
You should consider downloading a more recent 8.30 or 8.40 version of Oracle Application Testing Suite (OATS) for improvements to the java agent. In the near future there will be a version that has been designed with Ajax in mind. It will have a decision making UI similar to the navigation editor without having to edit java code.
Maybe you are looking for
-
Satellite L20-182 - NO one wifi driver work
As the title says, i have tried all of the drivers on Toshibia's website and none seem to get the wifi to work. I have been repairing Pcs for 8 years and this is the first time i have come across such an issue. Device manger sees the wifi as an unide
-
My wife and I have one Apple ID through which we have individually purchased apps for her iPad and my iPad 2. We both now have individual iCloud accounts, and she now has an iPhone. For business reasons we now have to separate the apps under our indi
-
Error encountered while running a process chain
Hi, Was wondering what's the cause of this error: <b>Invalid call sequence to interfaces when recording changes.</b> We keep on getting this error message when we try to activate and schedule our process chain. Please help. Thanks!
-
Cost center and proit center bi reports
hi all ; we want to prepare bi reports for cost center and profit centers same as r/3 report standard and r/3 features in bi so help me out in this how to follow iam new to bi l regards ram
-
How to put safari full screen without clicking and dragging the sides and without going in to fullscreen mode? Thanks EG