Usefull links on Load testing of Web API

Team,
Can you please share some Usefull links on Load testing of Web API

Hi kumaranil36,
Thank you for posting in MSDN forum.
Base on your issue, I suggest you could refer the following articles to check your issue.
Reference:
https://msdn.microsoft.com/en-us/library/ms182605.aspx?f=255&MSPPError=-2147217396
https://msdn.microsoft.com/en-us/library/ms182558.aspx
http://blogs.msdn.com/b/weslbo/archive/2013/10/31/how-to-load-test-and-get-profiling-results-from-a-web-api-hosted-in-a-windows-azure-cloud-service.aspx
Hope it help you!
Best Regards,
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.

Similar Messages

  • Load testing of Web ADI in EBS R12

    Hi,
    I am currently testing Oracle E-Business Suite R12. Has anyone load tested the Web ADI integrator for Oracle EBS R12? What tool did you use?
    Did you use QTP or Oracle ATS functional testing? I was not able to do a POC using LoadRunner or OATS load test tool.
    Basically Web ADI is an integration that allows data to be uploaded/downloaded between Oracle EBS R12 and local excel.
    Any help is appreciated.
    Regards
    CP
    Edited by: oracletest on 14-May-2012 07:17

    Hi,
    I have found that OATS does not work easily with Web ADI in my case.
    Regards
    CP

  • Basic Authentication for load testing WSDL Web Service

    I'm trying to load test a web service; the WSDL URL is behind a username and password, using the basic http authentication. I can add the WSDL URL without issue with the username and password, but when I playback the script, I get "401 Unauthorized" errors
    I looked at Preferences > Record > Web Services > Proxy Configuration, which then refers you to Preferences > Record > HTTP > Proxy Settings. I also looked at similar settings under Preferences > Playback.
    I am running OpenScript (9.1), how do I configure this ... ?
    Many thanks!
    KM
    Edited by: KM on Sep 14, 2011 12:12 PM

    Hello
    You can right click on the initialize section of your script then:
    Add -> Other -> HTTP -> Authentication.
    You need 3 parameters:
    A url - http://someurl - that will authenticate any url that contains the http://someurl string e.g http://someurl.com/index.html
    A password
    A user
    The following code should be added in your script:
    http.addAuthentication("http://someurl", "username",
                        deobfuscate("5blNah5kX/XuZnepYwInFw=="));Hope this helps
    Alex

  • Proxy issue in OpenScript Load Testing Protocol(Web/HTTP) during PlayBack

    Hi All,
    I am new to OATS and I recorded a sample script on OATS for Load Testing protocol(Web/HTTP) in OpenScript but when I Playback it then it is giving the following as the result:
    "*Invalid response received from proxy server: HTTP/1.1 502 Proxy Error ( The ISA Server denied the specified Uniform Resource Locator (URL). ).*
    *Comparable WinInet error code: Error 12033: ERROR_INTERNET_INVALID_PROXY_REQUEST.*"
    In ErrorLog following errors are mentioned:
    "*eclipse.buildId=unknown*
    *java.version=1.6.0_07*
    *java.vendor=Sun Microsystems Inc.*
    *BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_IN*
    *Command-line arguments: -os win32 -ws win32 -arch x86*
    *Error*
    *Thu Apr 25 12:00:17 IST 2013*
    *fireActiveProjectChanged*
    *java.lang.IllegalStateException: Error getting Parent Element Id for element-id: 9*
    *     at oracle.oats.scripting.models.store.util.db.ModelDBPersistence.getElementParentId(ModelDBPersistence.java:283)*
    *     at oracle.oats.scripting.models.stores.database.DatabaseStore.getParentId(DatabaseStore.java:287)*
    *     at oracle.oats.scripting.models.stores.database.ResultOverviewStore.getParentId(ResultOverviewStore.java:550)*
    *     at oracle.oats.scripting.models.ModelElement.getParentId(ModelElement.java:275)*
    *     at oracle.oats.scripting.models.ModelAccessor.findParent(ModelAccessor.java:146)*
    *     at oracle.oats.scripting.models.ModelElement.findParent(ModelElement.java:289)*
    *     at oracle.oats.scripting.ui.views.results.ResultsContentProvider.getParent(ResultsContentProvider.java:49)*
    *     at org.eclipse.jface.viewers.AbstractTreeViewer.getParentElement(AbstractTreeViewer.java:1646)*
    *     at org.eclipse.jface.viewers.TreeViewer.getParentElement(TreeViewer.java:601)*
    *     at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpand(AbstractTreeViewer.java:1573)*
    *     at org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:2456)*
    *     at org.eclipse.jface.viewers.StructuredViewer.setSelectionToWidget(StructuredViewer.java:1680)*
    *     at org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:2864)*
    *     at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1636)*
    *     at org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer.java:1104)*
    *     at oracle.oats.scripting.ui.views.results.ResultsDisplayView.setSelection(ResultsDisplayView.java:584)*
    *     at oracle.oats.scripting.ui.views.results.ResultsDisplayView.onActiveScriptingProjectChanged(ResultsDisplayView.java:266)*
    *     at oracle.oats.scripting.ui.internal.editors.openScript.OpenScriptEditorRegistry.fireActiveProjectChanged(OpenScriptEditorRegistry.java:377)*
    *     at oracle.oats.scripting.ui.internal.editors.openScript.OpenScriptEditorRegistry.access$8(OpenScriptEditorRegistry.java:371)*
    *     at oracle.oats.scripting.ui.internal.editors.openScript.OpenScriptEditorRegistry$EditorListener.partActivated(OpenScriptEditorRegistry.java:121)*
    *     at org.eclipse.ui.internal.PartListenerList2$1.run(PartListenerList2.java:68)*
    *     at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)*
    *     at org.eclipse.core.runtime.Platform.run(Platform.java:880)*
    *     at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:53)*
    *     at org.eclipse.ui.internal.PartListenerList2.firePartActivated(PartListenerList2.java:66)*
    *     at oracle.oats.scripting.ui.internal.TailoredPartService.firePartActivated(TailoredPartService.java:310)*
    *     at oracle.oats.scripting.ui.internal.TailoredPartService.setActivePart(TailoredPartService.java:344)*
    *     at org.eclipse.ui.internal.WWinPartService.updateActivePart(WWinPartService.java:124)*
    *     at org.eclipse.ui.internal.WWinPartService.access$0(WWinPartService.java:115)*
    *     at org.eclipse.ui.internal.WWinPartService$1.partDeactivated(WWinPartService.java:48)*
    *     at org.eclipse.ui.internal.PartListenerList2$4.run(PartListenerList2.java:113)*
    *     at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)*
    *     at org.eclipse.core.runtime.Platform.run(Platform.java:880)*
    *     at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:53)*
    *     at org.eclipse.ui.internal.PartListenerList2.firePartDeactivated(PartListenerList2.java:111)*
    *     at oracle.oats.scripting.ui.internal.TailoredPartService.firePartDeactivated(TailoredPartService.java:323)*
    *     at oracle.oats.scripting.ui.internal.TailoredPartService.setActivePart(TailoredPartService.java:338)*
    *     at org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePartChanged(WorkbenchPagePartList.java:56)*
    *     at org.eclipse.ui.internal.PartList.setActivePart(PartList.java:126)*
    *     at org.eclipse.ui.internal.WorkbenchPage.setActivePart(WorkbenchPage.java:3491)*
    *     at org.eclipse.ui.internal.WorkbenchPage.requestActivation(WorkbenchPage.java:3034)*
    *     at org.eclipse.ui.part.MultiEditor.activateEditor(MultiEditor.java:178)*
    *     at oracle.oats.scripting.ui.internal.editors.openScript.OpenScriptEditor.activateEditor(OpenScriptEditor.java:1247)*
    *     at org.eclipse.ui.part.MultiEditor$1.handleEvent(MultiEditor.java:81)*
    *     at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)*
    *     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)*
    *     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)*
    *     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1008)*
    *     at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:1353)*
    *     at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java:2443)*
    *     at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2266)*
    *     at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:4414)*
    *     at org.eclipse.swt.widgets.Tree.WM_SETFOCUS(Tree.java:6846)*
    *     at org.eclipse.swt.widgets.Control.windowProc(Control.java:3855)*
    *     at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)*
    *     at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528)*
    *     at org.eclipse.swt.internal.win32.OS.SetFocus(Native Method)*
    *     at org.eclipse.swt.widgets.Control.forceFocus(Control.java:974)*
    *     at org.eclipse.swt.widgets.Control.setFocus(Control.java:2811)*
    *     at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:927)*
    *     at oracle.oats.scripting.ui.editors.tree.TreeEditor.setFocus(TreeEditor.java:230)*
    *     at org.eclipse.ui.part.MultiEditor.setFocus(MultiEditor.java:139)*
    *     at org.eclipse.ui.internal.PartPane.setFocus(PartPane.java:325)*
    *     at org.eclipse.ui.internal.EditorPane.setFocus(EditorPane.java:127)*
    *     at org.eclipse.ui.internal.PartStack.presentationSelectionChanged(PartStack.java:846)*
    *     at org.eclipse.ui.internal.PartStack.access$1(PartStack.java:829)*
    *     at org.eclipse.ui.internal.PartStack$1.selectPart(PartStack.java:139)*
    *     at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:133)*
    *     at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:267)*
    *     at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:276)*
    *     at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.access$1(DefaultTabFolder.java:1)*
    *     at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder$2.handleEvent(DefaultTabFolder.java:87)*
    *     at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)*
    *     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)*
    *     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)*
    *     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012)*
    *     at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:770)*
    *     at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3242)*
    *     at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:2017)*
    *     at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:320)*
    *     at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)*
    *     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)*
    *     at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)*
    *     at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)*
    *     at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)*
    *     at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)*
    *     at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)*
    *     at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)*
    *     at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)*
    *     at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)*
    *     at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)*
    *     at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)*
    *     at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)*
    *     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)*
    *     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)*
    *     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)*
    *     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)*
    *     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)*
    *     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)*
    *     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)*
    *     at java.lang.reflect.Method.invoke(Method.java:597)*
    *     at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)*
    *     at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)*
    *     at org.eclipse.equinox.launcher.Main.run(Main.java:1236)*
    *     at org.eclipse.equinox.launcher.Main.main(Main.java:1212)*
    *Caused by: oracle.oats.utilities.db.exceptions.DisconnectDbException: Verify if database connection exists for C:\OracleATS\OFT\iTube3\results\Session3\data*
    *     at oracle.oats.utilities.db.JavaDbSystem.executeQuery(JavaDbSystem.java:335)*
    *     at oracle.oats.utilities.db.core.ElementDao.selectParentId(ElementDao.java:215)*
    *     at oracle.oats.utilities.db.DatabasePersister.getParentIdFor(DatabasePersister.java:89)*
    *     at oracle.oats.scripting.models.store.util.db.ModelDBPersistence.getElementParentId(ModelDBPersistence.java:278)*
    *     ... 104 more*
    *Caused by: java.sql.SQLNonTransientConnectionException: No current connection.*
    *     at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)*
    *     at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)*
    *     at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)*
    *     at org.apache.derby.impl.jdbc.Util.noCurrentConnection(Unknown Source)*
    *     at org.apache.derby.impl.jdbc.EmbedConnection.checkIfClosed(Unknown Source)*
    *     at org.apache.derby.impl.jdbc.EmbedConnection.setupContextStack(Unknown Source)*
    *     at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)*
    *     at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)*
    *     at oracle.oats.utilities.db.util.SQLUtils.prepare(SQLUtils.java:307)*
    *     at oracle.oats.utilities.db.StatementFactory.makeStatement(StatementFactory.java:20)*
    *     at oracle.oats.utilities.db.PreparedStatementCache.addStatement(PreparedStatementCache.java:38)*
    *     at oracle.oats.utilities.db.JavaDbSystem.executeQuery(JavaDbSystem.java:316)*
    *     ... 107 more*
    *Caused by: java.sql.SQLException: No current connection.*
    *     at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)*
    *     at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)*
    *     ... 119 more*
    And in Debug tag I am getting the following errors:
    *"<disconnected>org.eclipse.equinox.launcher.Main at localhost:59115"*
    I am working with OATS on company network and also I am using the correct proxy setting(confirmed). When i tried recording a company internal web application(No Proxy Required) its still giving same proxy errors.
    Error results are always changeing when I change my Port No. for proxy setting (Default Port No for my network is 8080).
    For port No 8080 following error is displayed result tab:
    *"Failed     HTTP response code: 407 Proxy Authentication Required ( Access is denied. )      "*
    For port no 7777 & 443 following error is displayed in the result tab: (Have changed the proxy server address to "xyz"):
    *Failed     The attempt to connect to the server xyzproxy.xyz.com on port 7777 failed.*
    *Comparable WinInet error code: Error 12029: ERROR_INTERNET_CANNOT_CONNECT. Caused by: java.net.ConnectException occurred. Error Message:Connection timed out: connect*
    I have just disabled the cookies from my script, no other changes have been made(no parametrization and no correlation as of now).
    I have tried everything with port numbers and also with Playback settings in openscript preference for proxy, tried to playback the script with proxy, without proxy for both the type of applications, company internal and external but still the same errors.
    Anyone please suggest me a solution to this problem.
    Thanks,
    Abhi.
    Edited by: 1002084 on Apr 25, 2013 12:12 AM

    Hi,
    I think your password is encrypted. Try replace password "a99fad1866af01d9375627d5d08d7f1c11ed4d3f6d5d2372d40908884a15b8e6" with your password.
    Or Get output of obfuscate("your password") and replace "a99fad1866af01d9375627d5d08d7f1c11ed4d3f6d5d2372d40908884a15b8e6" with {{@deobfuscate( output of obfuscate("your password") )}}
    Regards,
    Deepu M

  • OATS - Playback is not working in OpenScript for Load Testing with Web/Http

    Hi,
    I am able to record the script in Open Script successfully, but when I try to playback the same without making any changes....its fails with error : Failed to solve variable web.input.Submit using path .//input[@name='Submit']/@value
    I have already commented the part where password will be matched in the code....thus, login/bad credentials related issues is ruled out as well.
    Please help with me some solution.
    Following is the recorded script:
    import oracle.oats.scripting.modules.basic.api.internal.*;
    import oracle.oats.scripting.modules.basic.api.*;
    import oracle.oats.scripting.modules.http.api.*;
    import oracle.oats.scripting.modules.http.api.HTTPService.*;
    import oracle.oats.scripting.modules.utilities.api.*;
    import oracle.oats.scripting.modules.utilities.api.sql.*;
    import oracle.oats.scripting.modules.utilities.api.xml.*;
    import oracle.oats.scripting.modules.utilities.api.file.*;
    public class script extends IteratingVUserScript {
        @ScriptService oracle.oats.scripting.modules.utilities.api.UtilitiesService utilities;
        @ScriptService oracle.oats.scripting.modules.http.api.HTTPService http;
        public void initialize() throws Exception {
            http.setUserAgent("Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.2)");
            http.setAcceptLanguage("en-US");
         * Add code to be executed each iteration for this virtual user.
        public void run() throws Exception {
            beginStep("[1] FLEXCUBE - PRIVATE BANKING", 0);
                http.window(2, "window[@index='0']").get(
                        "http://10.180.59.185:9500/wm", null, null, true, "UTF8",
                        "UTF8");
                    http.solveXPath("web.input.Submit", "/window[@index='0']",
                            ".//input[@name='Submit']/@value", "Sign In", 0,
                            EncodeOptions.None);
                    http.solveXPath("web.input.strutstokenname",
                            "/window[@index='0']",
                            ".//input[@name='struts.token.name']/@value",
                            "struts.token", 0, EncodeOptions.None);
                    http.solveXPath("web.input.strutstoken", "/window[@index='0']",
                            ".//input[@name='struts.token']/@value",
                            "CFSZKA9Z6RSWJTW8TT35GXCNIOIGMJGA", 0,
                            EncodeOptions.None);
            endStep();
            beginStep("[2] FLEXCUBE - PRIVATE BANKING - Home", 8538);
                http.form(
                        14,
                        "window[@index='0']//form[((@id='formLogin' and @name='formLogin') or @action='http://10.180.59.185:9500/wm/j_spring_security_check;jsessionid=B8396BEC73D829538F5E55FEE125330D') and @index='0']")
                        .submit(null,
                                http.postdata(
                                        http.param("j_username", "HOHEAD1"),
                                        http.param("j_password",
                                                "a99fad1866af01d9375627d5d08d7f1c11ed4d3f6d5d2372d40908884a15b8e6"),
                                        http.param("Submit",
                                                "{{web.input.Submit,Sign In}}"),
                                        http.param("struts.token.name",
                                                "{{web.input.strutstokenname,struts.token}}"),
                                        http.param("struts.token",
                                                "{{web.input.strutstoken,CFSZKA9Z6RSWJTW8TT35GXCNIOIGMJGA}}")),
                                null, true, null, null, null, null, null);
            endStep();
            beginStep("[3] FLEXCUBE - PRIVATE BANKING", 9875);
                http.link(
                        28,
                        "window[@index='0']//a[@text='Logout' and (@href='http://10.180.59.185:9500/wm/logout.jsp?logoutToken=0.1189281079747162' or @index='159')]")
                        .click();
            endStep();
        public void finish() throws Exception {

    Hi,
    I think your password is encrypted. Try replace password "a99fad1866af01d9375627d5d08d7f1c11ed4d3f6d5d2372d40908884a15b8e6" with your password.
    Or Get output of obfuscate("your password") and replace "a99fad1866af01d9375627d5d08d7f1c11ed4d3f6d5d2372d40908884a15b8e6" with {{@deobfuscate( output of obfuscate("your password") )}}
    Regards,
    Deepu M

  • 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

  • Stress and load testing

    Hi all,
    How do you do the stress and load testing on queries( WAD) in BW, does mercury loadrunner supports this?  I am little bit confused with the portal and BW, where i hv to do stress and load testing of Web queries( i views)? plz help me

    Stress and Load testing are the different types of testing used to test the Application in Development by increasing the loads on the application in order to test the applications behavior as to how it would react with the increased loads. Example in testing a website we constantly increase the number of users accessing that website at the same time in order to check how much of response time is the web page taking to show up on the screen, how is the back end of the website working and at a time how many users can log on before the website crashes.
    Let me know if this is of any help  and assign points if helpful. Sorry for the delayed reply.
    Thanks,
    Reena

  • Test Mix in Load Testing VS 2013

    Hi Team,
    I am bit confused with below options in Test Mix. Can you please tell me the difference of these options and some real time use cases on when to use which option. Thanks for your help
    Based on the total number of tests:
    Based on the number of virtual users
    Based on user pace
    Based on sequential test order

    Hi kumaranil36,
    This is the Official explanations about the Test Mix:
    You can specify one of the following test mix model options for your load test scenario:
    Based on the total number of tests: Determines which Web performance or unit test is run when a virtual user starts a test iteration. At the end of the load test, the number of times that a particular test was run matches
    the assigned test distribution. Use this test mix model when you are basing the test mix on transaction percentages in an IIS log or in production data.
    Based on the number of virtual users: Determines the percentage of virtual users who will run a particular Web performance or unit test. At any point in the load test, the number of users who are running a particular
    test matches the assigned distribution. Use this test mix model when you are basing the test mix on the percentage of users running a particular test.
    Based on user pace: Over the course of the load test, each Web performance test or unit test is run a specified number of times per users, per hour. Use this test mix model when you want virtual users to run test at
    a certain pace throughout the load test.
    Based on sequential order: Each virtual user runs the Web performance or unit tests in the order that the tests are defined in the scenario. The virtual user continues cycling through the tests in this order until the
    load test is complete.
    But I think this blog would be better for us to really understand them with the Virtual User Activity Chart  here:
    http://blogs.msdn.com/b/edglas/archive/2009/10/19/using-the-virtual-user-activity-chart-to-understand-the-vs-load-engine.aspx
    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.

  • Load testing with concurrent users on HTTP Web

    Hello,
    I am trying to do load testing my PHP Web Application.
    I record (with Firefox) and developed the testing script with OpenScript,
    but I found that I could only test with "Iteration" feature.
    Is there any way to do load testing with concurrent users ( multi users login at the same time ) which defined in databank?
    Thanks for help.

    Hi
    You need to load the script into OLT (Oracle Load Testing) you can download it from here you need the first link Oracle Application Testing Suite and run the OATSxxx.exe to install OLT.
    Regards
    Alex

  • Webi XI 3.1 SP2 LOAD TESTING ISSUE WITH LOAD RUNNER

    Hello,
    We are launching a test campaign in order to test the Webi XI 3.1 SP2 (FP2.2) platform to validate it is capable to host 150 concurents users.
    The test is pretty simple:
    Logon to Infoview
    Navigate to the Document list page
    Make a search to find the adequate report
    Open this document
    Fill the prompts (doc is auto refresh)
    Wait for the results
    Logoff InfoView
    The problem is related to the tool with which we are scripting that is not able to run this script (Tool is Load Runner (ex Mercury)). In fact, we are able to capture the script correctly but when it is replayed, it crashes when displaying the document list page as it can't find the frame with the list of documents and the tree view...
    Do you know whether there are some specific settings to make it working correctely?
    For information, the Protocol used for our testing are:
    Web Click-&-Script
    HTTP-HTML
    AJAX

    I've used LoadRunner for this purpose before.  There is a tutorial that comes with the product.  My suggestion is to go through that and from there you should be able to get it working with enterprise.  I feel that's the best way to get up and running quickly.

  • Load testing web service with JMeter

    Hi,
    Has anyone had success with using JMeter to load test Web Service generated by Jdev and deploy on iAS904?
    Thanks,
    Charles Li

    hi
    Calling user needs authorization object S_SERVICE
    regards
    afzal

  • Want the link to open EAS IN WEb mode and also the Java API details needed

    Want the link to open EAS IN WEb mode and also the Java API details needed to get it up and running.
    Kindly provide the answer if knows.
    Thanks .

    Yes, you can have single sign on enabled on multiple essbase servers,
    It works like using single userid and password across mulple servers. you can configure essbase server to read from active directory.
    you can configure css.xml file in bin folder
    sample CSS FILE
    here is an example of a css.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <css xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <spi>
    <provider>
    <msad name="msad1"> <trusted>false</trusted>
    <url>ldap://ldapserver:389/dc=CompanyName,dc=com</url>
    <userDN>CN=#######,OU=Security Accounts,OU=IT,DC=CompanyName,DC=com</userDN>
    <password>########</password>
    <authType>simple</authType>
    <identityAttribute>dn</identityAttribute>
    <user>
    <loginAttribute>sAMAccountName</loginAttribute>
    <fnAttribute>givenname</fnAttribute>
    <snAttribute>sn</snAttribute>
    <emailAttribute>mail</emailAttribute>
    <objectclass>
    </objectclass>
    </user>
    <group>
    <url>cn=LostAndFound</url>
    </group>
    </msad>
    </provider>
    </spi>
    <searchOrder>
    <el>msad1</el>
    </searchOrder>
    <token>
    <timeout>60</timeout>
    </token>
    <logger>
    <priority>ERROR</priority>
    </logger>
    </css>

  • Load Testing Discoverer Plus 11g Web Using HP Load Runner 11

    Hi,
    I am doing load test for "Oracle Business Intelligence Discoverer Plus 10g" using HP Load Runner 11. Could you tell me which is the best protocol to record script?
    I am looking for a protocol which I can parametrize after recording.
    These are recommended protocols from Load Runner when I run Protocol Analyzer
    AJAX(Click and Support) : Seems to work fine but Can't parametraize Query after recording
    Java Over HTTP
    Web (HTTP/HTML)
    There are other protocols too.
    Could you provide any pointers or best practices. Thanks a lot
    Edited by: 936062 on May 22, 2012 2:56 PM

    Hi,
    You can refer this forum
    [http://groups.google.com/group/LR-LoadRunner/browse_thread/thread/f1fb1c6430e39f94/565baac51a6d35c0]
    Thanks and Regards,
    Dhaya.G.

  • Use Web API url for loading an external image in a report

    Hi there,
    I am trying to host an image in a report, which is coming out of a Web API. I am able access the image through a URL in a browser:
    https://companytest.com/api/TestFormImage?id=10358&EntityId=6719&imgMetadataName=TestDiagram
    Can anyone please help me how to include this in a report ? I have tried to include this as an external image with the URL embedded as a string like: 
    =string.Format("https://companytest.com/api/TestFormImage?id=10358&EntityId=6719&imgMetadataName=TestDiagram")
    NOTE: the output of the Web API is an image of MIME type PNG.
    Thanks in advance!
    Regards, Laks

    To add an external image
    In report design view, on the Insert tab, click Image.
    On the design surface, click and then drag a box to the desired size of the image.
    On the General tab of the Image Properties dialog box, type a name in the
    Name text box or accept the default.
    (Optional) In the Tooltip text box, type text to display when the user hovers over the image in a report rendered for HTML.
    In Select the image source, select External.
    For an image on a report server in native mode, type a relative path to the image in the
    Use this image box—for example, ../images/image1.jpg.
    For an image on a report server in SharePoint integrated mode, or any other Web site, type a full URL to the image in the
    Use this image box—for example, http://<SharePointservername>/<site>/Documents/images/image1.jpg.
    For more information, see Specifying Paths to External Items (Report Builder and SSRS).
    (Optional) Click Size, Visibility, Action, or
    Border to set additional properties for the image report item.
        Click OK.
    Andy Tauber
    Data Architect
    The Vancouver Clinic
    Website | LinkedIn
    This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click
    "Mark as Answer" and "Vote as Helpful" on posts that help you. This can be beneficial to other community members reading the thread.

  • Are mutliple database calls really significant with a network call for a web API?

    At one of my employers, we worked on a REST (but it also applies to SOAP) API. The client, which is the application UI, would make calls over the web (LAN in typical production deployments) to the API. The API would make calls to the database.
    One theme that recurs in our discussions is performance: some people on the team believe that you should not have multiple database calls (usually reads) from a single API call because of performance; you should optimize them so that each API call has only
    (exactly) one database call.
    But is that really important? Consider that the UI has to make a network call to the API; that's pretty big (order of magnitude of milliseconds). Databases are optimized to keep things in memory and execute reads very, very quickly (eg. SQL Server loads and
    keeps everything in RAM and consumes almost all your free RAM if it can).
    TLDR: Is it really significant to worry about multiple database calls when we are already making a network call over the LAN? If so, why?
    To be clear, I'm talking about order of magnitude -- I know that it depends on specifics (machine hardware, choice of API and DB, etc.) If I have a call that takes O(milliseconds), does optimizing for DB calls that take an order of magnitude less, actually
    matter? Or is there more to the problem than this?
    Edit: for posterity, I think it's quite ridiculous to make claims that we need to improve performance by combining database calls under these circumstances -- especially
    with a lack of profiling. However, it's not my decision whether we do this or not; I want to know what the rationale is behind thinking this is a correct way of optimizing web API calls.

    But is that really important? Consider that the UI has to make a network call to the API; that's pretty big (order of magnitude of milliseconds). Databases are optimized to keep things in memory
    and execute reads very, very quickly (eg. SQL Server loads and keeps everything in RAM and consumes almost all your free RAM if it can).
    The Logic
    In theory, you are correct. However, there are a few flaws with this rationale:
    From what you stated, it's unclear if you actually tested / profiled your app. In other words, do you actually know that
    the network transfers from the app to the API are the slowest component? Because that is intuitive, it is easy to assume that it is. However, when discussing performance, you should never assume. At my employer, I am the performance lead. When I first joined,
    people kept talking about CDN's, replication, etc. based on intuition about what the bottlenecks must be. Turns out, our biggest performance problems were poorly performing database queries.
    You are saying that because databases are good at retrieving data, that the database is necessarily running at peak performance, is being used optimally, and there is nothing that can be done
    to improve it. In other words, databases are designed to be fast, so I should never have to worry about it. Another dangerous line of thinking. That's like saying a car is meant to move quickly, so I don't need to change the oil.
    This way of thinking assumes a single process at a time, or put another way, no concurrency. It assumes that one request cannot influence another request's performance. Resources are shared,
    such as disk I/O, network bandwidth, connection pools, memory, CPU cycles, etc. Therefore, reducing one database call's use of a shared resource can prevent it from causing other requests to slow down. When I first joined my current employer, management believed
    that tuning a 3 second database query was a waste of time. 3 seconds is so little, why waste time on it? Wouldn't we be better off with a CDN or compression or something else? But if I can make a 3 second query run in 1 second, say by adding an index, that
    is 2/3 less blocking, 2/3 less time spent occupying a thread, and more importantly, less data read from disk, which means less data flushed out of the in-RAM cache.
    The Theory
    There is a common conception that software performance is simply about speed.
    From a purely speed perspective, you are right. A system is only as fast as its slowest component. If you have profiled your code and found that the Internet is the slowest component, then everything else is obviously not the slowest part.
    However, given the above, I hope you can see how resource contention, lack of indexing, poorly written code, etc. can create surprising differences in performance.
    The Assumptions
    One last thing. You mentioned that a database call should be cheap compared to a network call from the app to the API. But you also mentioned that the app and the API servers are in the same LAN. Therefore, aren't both of them comparable as network calls? In
    other words, why are you assuming that the API transfer is orders of magnitude slower than the database transfer when they both have the same available bandwidth? Of course the protocols and data structures are different, I get that, but I dispute the assumption
    that they are orders of magnitude different.
    Where it gets murkey
    This whole question is about "multiple" versus "single" database calls. But it's unclear how many are multiple. Because of what I said above, as a general rule of thumb, I recommend making as few database calls as necessary. But that is
    only a rule of thumb.
    Here is why:
    Databases are great at reading data. They are storage engines. However, your business logic lives in your application. If you make a rule that every API call results in exactly one database call, then your business logic may end up in the database. Maybe that
    is ok. A lot of systems do that. But some don't. It's about flexibility.
    Sometimes to achieve good decoupling, you want to have 2 database calls separated. For example, perhaps every HTTP request is routed through a generic security filter which validates from the DB that the user has the right access rights. If they do, proceed
    to execute the appropriate function for that URL. That function may interact with the database.
    Calling the database in a loop. This is why I asked how many is multiple. In the example above, you would have 2 database calls. 2 is fine. 3 may be fine. N is not fine. If you call the database in a loop, you have now made performance linear, which means it
    will take longer the more that is in the loop's input. So categorically saying that the API network time is the slowest completely overlooks anomalies like 1% of your traffic taking a long time due to a not-yet-discovered loop that calls the database 10,000
    times.
    Sometimes there are things your app is better at, like some complex calculations. You may need to read some data from the database, do some calculations, then based on the results, pass a parameter to a second database call (maybe to write some results). If
    you combine those into a single call (like a stored procedure) just for the sake of only calling the database once, you have forced yourself to use the database for something which the app server might be better at.
    Load balancing: You have 1 database (presumably) and multiple load balanced application servers. Therefore, the more work the app does and the less the database does, the easier it is to scale because it's generally easier to add an app server than setup database
    replication. Based on the previous bullet point, it may make sense to run a SQL query, then do all the calculations in the application, which is distributed across multiple servers, and then write the results when finished. This could give better throughput
    (even if the overall transaction time is the same).
    TL;DR
    TLDR: Is it really significant to worry about multiple database calls when we are already making a network call over the LAN? If so, why?
    Yes, but only to a certain extent. You should try to minimize the number of database calls when practical, but don't combine calls which have nothing to do with each other just for the sake of combining them. Also, avoid calling the database in a loop at all
    costs.

Maybe you are looking for

  • Resume Time Machine Backup On New MBP (props available)

    Hello Officials, I do not mean to scare away answers, but I am an experienced Mac boy, and would be forever honored with help on (this now) complicated issue below: Info: My old MBP had a couple of logic board replacements, now I have the new MBP. I

  • How to deploy ear file in OATS

    hi gems..good afternoon... I need to deploy my application's EAR file in OATS to test it. I have installed OATS 12.0 version and also have started the demo setup i.e the medrec application from the documentation. Now, how can I setup my application i

  • SQL PLUS/ ORACLE

    HELLO, I DOWNLOADED 9i DATABASE 9.2.0.1.0 TO ACCESS THE SQL PLUS APPLICATION TO PRACTICE SQL. UPON THE LOGIN SCREEN WHEN IT ASK TO PUT IN USER I.D.,PASSWORD, AND HOST STRING. I RECEIVE AN ERROR MESSAGE THAT SAYS "ORA-12560: TNS: PROTOCOL ADAPTER ERRO

  • Fetching Values from Ancestors based on UDA condition

    Hi, I have a typical requirement where I  need to fetch data from the ancestor based on a particular UDA condition. For ex: See the below exhibit Dimension ----A (UDA: xyz) -------B (UDA: xyz) ------------C -----------------D -----------------E (UDA:

  • Problems: iPhone, iTunes and the Music App

    As the title suggests, iPhone, iTunes and the music app on the iPhone have all been causing me a great deal of frustration. I am experienceing a number of seamingly related problems: 1. After adding new music and syncing my phone with iTunes, iTunes