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,
    Abhishek

    Hi 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,
    Vijai

    Hi,
    Maybe worth also trying the WLS forum for what folks over there use: WebLogic Server - General
    Frank

  • Load testing application

    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,
    Fabien

    Hi 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

  • After load test is completed, "90% Page Time", "95% Page Time" columns appear blank and "99% Page Time" column is not available.

    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
    Prasad

    Wrong 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.
    Joseph

    Hi
    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

  • Database load testing

    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 advance

    Check 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
    Thanks

    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
    Thanks

  • Load Testing Ajax calls

    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