[CLOSED] Performance issue on ASP.NET MVC application using ext.net

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1

    [CLOSED] Performance issue on ASP.NET MVC application using ext.net

    Hi,
    We are facing some performance issues in our MVC application developed using ext.net 1.7. The components are rendered programmatically.
    We tried to time our server side processing to see if the issue is caused by our code using the Stopwatch
    class provided by .NET. The results were very conclusive and we were able to eliminate a performance issue within our code.
    Performance tests are done on one single local dev environment.

    Here one of our views within the solution

    <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    <%@ Register Src="~/Views/item/EndTaskWindow.ascx" TagName="endTaskWin" TagPrefix="uc" %>
    <%@ Register Src="~/Views/item/CollectQuestions.ascx" TagName="collectQestionWin"
        TagPrefix="uc1" %>
    <%@ Register Src="~/Views/Item/WorkflowListWithEligibility.ascx"
        TagName="wfWindow" TagPrefix="uc2" %>
    <%@ Register Src="~/Views/Shared/SearchPopOnWindow.ascx" TagName="searchConsumerPoponWindow"
        TagPrefix="uc3" %>
    <!DOCTYPE html>
    <html>
    <head id="Head1" runat="server">
        <link type="text/css" rel="stylesheet" href="../../Resources/css/StyleManager.css" />
        <script src="../../Scripts/jquery-1.6.2.min.js" type="text/javascript"></script>
        <script src="../../Resources/js/AddTabJScript.js" type="text/javascript"></script>
        <script src="../../Resources/js/PageRefresh.js" type="text/javascript"></script>
        <script src="../../Resources/js/CollectQuestionsHandler.js" type="text/javascript"></script>
        <script src="../../Resources/js/StartWorkFlowWindow.js" type="text/javascript"></script>
        <script src="../../Resources/js/ReloadingPageAfterNotificationError.js" type="text/javascript"></script>
        <script src="../../Resources/js/collapseStreamLine.js" type="text/javascript"></script>
        <script type="text/javascript">
            /*@cc_on
            @*/   
        </script>
    </head>
    <body>
        <ext:ResourceManager ID="ResourceManager1" runat="server" SubmitDisabled="false">
            <Listeners>
                <DocumentReady Handler="onDocumentReady();" />
            </Listeners>
        </ext:ResourceManager>
        <form id="Form1" runat="server">
        </form>
        <ext:Viewport ID="Viewport1" runat="server" Layout="BorderLayout" AutoScroll="false">
            <Items>
                <ext:Panel runat="server" ID="_toolBar" Region="North" Height="30" Border="false">
                    <AutoLoad Url="/ViewEngine/LoadMainItemToolBar" NoCache="true">
                        <Params>
                            <ext:Parameter Name="containerID" Value="#{_toolBar}" Mode="Value" />
                            <ext:Parameter Name="tagName" Value="item" Mode="Value" />
                            <ext:Parameter Name="mainItemID" Value='<%# ViewBag.transactionId %>' AutoDataBind="true"
                                Mode="Value" />
                            <ext:Parameter Name="taskID" Value='<%# ViewBag.taskID %>' AutoDataBind="true" Mode="Value" />
                        </Params>
                    </AutoLoad>
                </ext:Panel>
                <ext:Panel ID="_pnlitemDetails" runat="server" Border="false" Header="false"
                    AutoScroll="true" Region="Center">
                    <AutoLoad Url="/ViewEngine/LoadPanelContent" NoCache="true">
                        <Params>
                            <ext:Parameter Name="containerID" Value="#{_pnlitemDetails}" Mode="Value" />
                            <ext:Parameter Name="tagName" Value="item" Mode="Value" />
                            <ext:Parameter Name="id" Value='<%# ViewBag.transactionId %>' AutoDataBind="true"
                                Mode="Value" />
                            <ext:Parameter Name="taskID" Value='<%# ViewBag.taskID %>' AutoDataBind="true" Mode="Value" />
                        </Params>
                    </AutoLoad>
                </ext:Panel>
                <ext:Hidden ID="_controllerName" runat="server" />
                <ext:Hidden ID="poponFieldID" runat="server" />
                <ext:Hidden ID="hiddenFieldDisplayPropertyID" runat="server" />
            </Items>
            <Content>
                <div id="win_div" />
                <uc1:collectQestionWin ID="collectQestionWin" runat="server" />
                <uc2:wfWindow ID="wfWindow" runat="server" />
                <uc:endTaskWin ID="endTaskWin" runat="server" />
            </Content>
        </ext:Viewport>
    </body>
    </html>
    It contains two panels that are using autoload and here we face the first problem: The ajax request for the autoload is taking a little more time than expected. I mean the server side treatment is estimated by TimeWatch class to 400 ms at most while the Firebux logs about 6 seconds of treatement as shown in the print screen below.

    Click image for larger version. 

Name:	AjaxRequest.png 
Views:	23 
Size:	64.4 KB 
ID:	6983

    Add to that, we are facing a render lagging (empty panel) that takes at least 6 seconds in which no ajax request is executed as logged within firebug (or may be the ajax request is blocked). This lag is really problematic for the end user experience!

    Then the screen is rendered and combo's store are loaded using HttProxy, but here too the Ajax request is taking too much time than expected. The server side treatment is about (2ms per combo box on average) while the request ajax execution time can take 3 seconds per combo which is too long as shown below.

    Click image for larger version. 

Name:	AjaxRequest2.png 
Views:	19 
Size:	27.7 KB 
ID:	6984

    We thought that the problem came from the max http request property within the browser but changing the value from 6 to 100 within firefox didn't resolve the problem.

    So, to recap we would try to find a solution for the lag. We would like also to know why the ajax requests are taking more than the expected execution time.

    Your help is really appreciated as this is becoming an urgent (showstopper) performance issue in our production environment.

    Thank you in advance,
    Last edited by Daniil; Oct 15, 2013 at 6:31 AM. Reason: [CLOSED]

Similar Threads

  1. Tab Panel Performance Issue
    By ITECH-Developer in forum 1.x Help
    Replies: 12
    Last Post: Jun 24, 2013, 11:00 AM
  2. [CLOSED] GridPanel Performance Issue
    By shaileshsakaria in forum 2.x Legacy Premium Help
    Replies: 2
    Last Post: Apr 03, 2013, 7:12 AM
  3. [CLOSED] Performance Issue with CommandColumn
    By blueworld in forum 2.x Legacy Premium Help
    Replies: 5
    Last Post: Dec 04, 2012, 3:52 PM
  4. [CLOSED] Application Performance
    By Hari_CSC in forum 1.x Legacy Premium Help
    Replies: 5
    Last Post: Mar 14, 2010, 6:11 PM
  5. [CLOSED] Performance issue with 0.8
    By reinout.mechant@imprss.be in forum 1.x Legacy Premium Help
    Replies: 13
    Last Post: Mar 26, 2009, 7:31 PM

Posting Permissions