Solved

asp:login control is very slow on default.aspx page but very fast on sub pages

Posted on 2008-06-18
16
1,789 Views
Last Modified: 2008-06-19
I'm trying to figure out why loging in from the home (default.aspx) page takes greater than 30 secs (and loging out takes the same amount of time or more), and using the same code on sub pages takes less than a second to login or out.  This horendous time to login on the main page of the site is unacceptable and I will loose users if I cannot get this resolved.

I use a master page that contains most of the layout including the header for the site which is where the login control is located. So the same layout and header are the same throughout the site.  I have created a test accout for you to use so you can see what I'm referring to. Use "testacct" for the username and "myguest" for the password at http://www.becauseyouwantit.com. Login from the main page and log out noting the time it takes for each, then navigate to a sub page (any page except the blog as this goes to another site) and login and out noting the time on each. At this point you will see why I'm frustrated. I don't understand why there would be any difference.

Here is the code in the master page for the login control:

                <div id="loginbox">
                    <asp:LoginView ID="LoginView1" runat="server">
                        <AnonymousTemplate>
                           <asp:Login ID="Login" runat="server" Width="100%" FailureAction="RedirectToLoginPage" >
                              <LayoutTemplate>
                                 <table border="0" cellpadding="0" cellspacing="0" width="100%">
                                    <tr>
                                       <td style="width:60px;"><asp:Label runat="server" ID="lblUserName" AssociatedControlID="UserName" Text="Username:" /></td>
                                       <td><asp:TextBox id="UserName" runat="server" Width="95%" /></td>
                                       <td style="width:5px;" align="right">
                                          <asp:RequiredFieldValidator ID="valRequireUserName" runat="server" SetFocusOnError="True"
                                             ControlToValidate="UserName" Text="*" ValidationGroup="Login" />
                                       </td>
                                    </tr>
                                    <tr>
                                       <td><asp:Label runat="server" ID="lblPassword" AssociatedControlID="Password" Text="Password:" /></td>
                                       <td><asp:TextBox ID="Password" runat="server" TextMode="Password"  Width="95%" /></td>
                                       <td style="width:5px;" align="right">
                                          <asp:RequiredFieldValidator ID="valRequirePassword" runat="server" SetFocusOnError="True"
                                             ControlToValidate="Password" Text="*" ValidationGroup="Login" />
                                       </td>
                                    </tr>
                                 </table>
                                 <table border="0" cellpadding="0" cellspacing="0" width="100%">
                                    <tr>
                                       <td><asp:CheckBox ID="RememberMe" runat="server" Text="Remember me" ></asp:CheckBox></td>
                                       <td align="right">
                                          <asp:ImageButton ID="Submit" runat="server" AlternateText="Login"
                                             CommandName="Login" ImageUrl="~/images/go.gif" ValidationGroup="Login" />
                                       </td>
                                       <td style="width:5px;" align="right">&nbsp;</td>
                                    </tr>
                                 </table>
                                 <div style="border-top: solid 1px black; margin-top: 2px; padding-top: 2px">
                                    <asp:HyperLink ID="lnkRegister" runat="server" NavigateUrl="~/Register.aspx" >Create new account</asp:HyperLink><br />
                                    <asp:HyperLink ID="lnkPasswordRecovery" runat="server" NavigateUrl="~/PasswordRecovery.aspx" >I forgot my password</asp:HyperLink>
                                 </div>
                              </LayoutTemplate>
                           </asp:Login>
                        </AnonymousTemplate>
                        <LoggedInTemplate>
                           <div id="welcomebox">
                              <asp:LoginName ID="LoginName1" runat="server" FormatString="Hello      {0}" /><br />
                              <asp:HyperLink ID="lnkProfile" runat="server" Text="Edit Profile" NavigateUrl="~/EditProfile.aspx" /><br />
                              <asp:LoginStatus ID="LoginStatus1" Runat="server" />
                           </div>
                        </LoggedInTemplate>
                    </asp:LoginView>
                </div>

----
Is there some configuration or settings that I might be missing?

Thanks for the help,
Bruce
0
Comment
Question by:batracy
  • 9
  • 7
16 Comments
 
LVL 33

Expert Comment

by:raterus
Comment Utility
The site seems really slow all around, I just tried to go to the URL and without even logging in, the page took about 30 seconds to load.  Refresh was fast, but as soon as I navigated to another URL it was slow again.
0
 

Author Comment

by:batracy
Comment Utility
Seems there may be another problem as well as the login issue.  The site was coming up fast this morning, and now it is not.  I have noticed this behavior in the past, but I have not been able to isolate any particular cause.  Even when the site is responding fast, the login is slow.  I have an application running that is supposed to keep the site cached in the server by "pinging" the site every twevle minutes, and this seemed to help - until today.
0
 

Author Comment

by:batracy
Comment Utility
I guess I should mention the site is compiled, so it should be fast - but I'm not seeing that this makes any difference.
0
 
LVL 33

Expert Comment

by:raterus
Comment Utility
What does the code of default.aspx look like.  Also, do you have a Global.asax file, what is the code like in there?
0
 

Author Comment

by:batracy
Comment Utility
Here is the entire code for the default.aspx page, the rss feed is just reading from the sites database for the most recent articles and I have commented this out before and found it made no difference. I even commented out the google ads and it made no difference:

<%@ Page Language="C#" MasterPageFile="~/Because.master" AutoEventWireup="true" CodeFile="default.aspx.cs" Inherits="BT.TheBecauseSite.UI._default" Title="Because You Want It - How To Buy A Car" %>
<%@ Register Src="~/Controls/RssReader.ascx" TagName="RssReader" TagPrefix="bt" %>

<asp:Content ID="Content1" ContentPlaceHolderID="LeftContent" Runat="Server">
    <div style="width:166px;background-color:#FFFFFF;margin-left:1px;margin-top:10px;">
          <script type="text/javascript"><!--
                  google_ad_client = "pub-8557227439727261";
                  google_ad_width = 160;
                  google_ad_height = 600;
                  google_ad_format = "160x600_as";
                  google_ad_type = "text";
                  //2007-10-09: bywi101001
                  google_ad_channel = "5419324534";
                  google_color_border = "FFFFFF";
                  google_color_bg = "FFFFFF";
                  google_color_link = "bb2422";
                  google_color_text = "000000";
                  google_color_url = "FEFEFE";
                  //-->
                  </script>
          <script type="text/javascript"
                    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
                  </script>
    </div>
       
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
    <br />
    <div>
        <div style="float:right;width:250px;margin-left:10px;">
            <script type="text/javascript"><!--
                  google_ad_client = "pub-8557227439727261";
                  google_ad_width = 250;
                  google_ad_height = 250;
                  google_ad_format = "250x250_as";
                  google_ad_type = "text_image";
                  //2007-10-09: bywi101003
                  google_ad_channel = "5072807769";
                  google_color_border = "FFFFFF";
                  google_color_bg = "FFFFFF";
                  google_color_link = "0072bb";
                  google_color_text = "000000";
                  google_color_url = "fefefe";
                  //-->
                  </script>
                  <script type="text/javascript"
                    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
                  </script>
                <br /><br />
        </div>
   
        <bt:RssReader ID="RssReader3" runat="server" Title="Our Most Recent Articles" RssCharacterCount="75" RssUrl="~/GetArticlesRss.aspx" MoreText="" MoreUrl="" />

    </div>
   <hr />
   <div class="sectiontitle">Article categories</div>
   <p></p>
   Click on the title of the category for which you want to browse the articles:
   <p></p>

   <asp:DataList ID="dlstCategories" EnableTheming="false" runat="server"
      DataSourceID="objAllCategories" DataKeyField="ID"
      GridLines="None" Width="100%" >
      <ItemTemplate>
         <table cellpadding="6" style="width: 700px;">
            <tr>
               <td style="width: 1px;">
               <asp:HyperLink runat="server" ID="lnkCatImage" NavigateUrl='<%# "BrowseArticles.aspx?CatID=" + Eval("ID") %>' >
                  <asp:Image runat="server" ID="imgCategory" BorderWidth="0px"
                     AlternateText='<%# Eval("Title") %>' ImageUrl='<%# Eval("ImageUrl") %>' />
               </asp:HyperLink>
               </td>
               <td>
                  <div class="sectionsubtitle">
                  <asp:HyperLink runat="server" ID="lnkCatTitle"
                     Text='<%# Eval("Title") %>'
                     NavigateUrl='<%# "BrowseArticles.aspx?CatID=" + Eval("ID") %>' />
                  </div>
                  <br />
                  <asp:Literal runat="server" ID="lblDescription" Text='<%# Eval("Description") %>' />
               </td>
            </tr>
         </table>
      </ItemTemplate>
   </asp:DataList>
   
   <asp:ObjectDataSource ID="objAllCategories" runat="server" SelectMethod="GetCategories"
      TypeName="BT.TheBecauseSite.BLL.Articles.Category">
   </asp:ObjectDataSource>
   <br /><hr />
</asp:Content>


Here is the code for the global.asax file:

<%@ Application Language="C#" %>

<script runat="server">

    void Application_Start(object sender, EventArgs e)
    {
        // Code that runs on application startup

    }
   
    void Application_End(object sender, EventArgs e)
    {
        //  Code that runs on application shutdown

    }
       
    void Application_Error(object sender, EventArgs e)
    {
        // Code that runs when an unhandled error occurs

    }

    void Session_Start(object sender, EventArgs e)
    {
        // Code that runs when a new session is started

    }

    void Session_End(object sender, EventArgs e)
    {
        // Code that runs when a session ends.
        // Note: The Session_End event is raised only when the sessionstate mode
        // is set to InProc in the Web.config file. If session mode is set to StateServer
        // or SQLServer, the event is not raised.

    }

    void Profile_MigrateAnonymous(object sender, ProfileMigrateEventArgs e)
    {
        // get a reference to the previously anonymous user's profile
        ProfileCommon anonProfile = this.Profile.GetProfile(e.AnonymousID);
        // if set, copy its Theme and ShoppingCart to the current user's profile
        if (anonProfile.ShoppingCart.Items.Count > 0)
            this.Profile.ShoppingCart = anonProfile.ShoppingCart;
        // delete the anonymous profile
        ProfileManager.DeleteProfile(e.AnonymousID);
        AnonymousIdentificationModule.ClearAnonymousIdentifier();
    }

           
</script>

0
 
LVL 33

Expert Comment

by:raterus
Comment Utility
I didn't see much there.

Can you post default.aspx.cs and web.config?
0
 

Author Comment

by:batracy
Comment Utility
Here is default.aspx.cs:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using BT.TheBecauseSite.BLL.Articles;

namespace BT.TheBecauseSite.UI
{
    public partial class _default : BasePage
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
    }
}


Here is the web.config (with parts blanked out for security):

<?xml version="1.0"?>
<configuration>
      <configSections>
            <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
                  <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
                        <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" allowDefinition="MachineToApplication"/>
                        <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
                              <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" allowDefinition="Everywhere"/>
                              <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" allowDefinition="MachineToApplication"/>
                              <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" allowDefinition="MachineToApplication"/>
                        </sectionGroup>
                  </sectionGroup>
            </sectionGroup>
            <section name="theBecauseSite" type="BT.TheBecauseSite.TheBecauseSection, __code"/>
      </configSections>
      <theBecauseSite defaultConnectionStringName="LocalSqlServer">
            <contactForm mailTo="btracy@becauseyouwantit.com"/>
            <articles pageSize="10"/>
            <forums threadsPageSize="8" forumsPageSize="20" hotThreadPosts="10" bronzePosterPosts="10" silverPosterPosts="20" goldPosterPosts="50"/>
            <classifieds pageSize="10"/>
            <!--
    <polls archiveIsPublic="true" votingLockByIP="false" />
    <newsletters fromEmail="btracy@becauseyouwantit.com" fromDisplayName="Because You Want It" />
    -->
    <store sandboxMode="true" businessEmail="btracy@becauseyouwantit.com" />
      </theBecauseSite>
      <appSettings/>
      <connectionStrings>
            <remove name="LocalSqlServer"/>
    <add name="LocalSqlServer" connectionString="Server=p3swhsql-v11.shr.phx3.secureserver.net;Initial Catalog=********;UID=********;PWD=********" providerName="System.Data.SqlClient"/>
      </connectionStrings>
      <system.web>
            <compilation debug="false" defaultLanguage="c#">
   <assemblies>
    <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    <add assembly="System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
   </assemblies>
  </compilation>
            <pages styleSheetTheme="Theme1" buffer="true" masterPageFile="~/Because.master">
                  <controls>
                        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
                  </controls>
            </pages>
            <authentication mode="Forms">
                  <forms cookieless="AutoDetect" loginUrl="~/AccessDenied.aspx" name="TBSFORMAUTH"/>
            </authentication>
            <httpHandlers>
                  <remove verb="*" path="*.asmx"/>
                  <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
                  <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
                  <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
            </httpHandlers>
            <httpModules>
                  <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
            </httpModules>
            <membership defaultProvider="TBS_MembershipProvider" userIsOnlineTimeWindow="15">
                  <providers>
                        <add name="TBS_MembershipProvider" connectionStringName="LocalSqlServer" applicationName="/" enablePasswordRetrieval="true" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="true" passwordFormat="Encrypted" maxInvalidPasswordAttempts="5" passwordAttemptWindow="10" minRequiredPasswordLength="5" minRequiredNonalphanumericCharacters="0" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
                  </providers>
            </membership>
            <siteMap defaultProvider="TBS_SiteMapProvider" enabled="true">
                  <providers>
                        <add name="TBS_SiteMapProvider" type="System.Web.XmlSiteMapProvider" securityTrimmingEnabled="true" siteMapFile="web.sitemap"/>
                        <add name="footersitemap" type="System.Web.XmlSiteMapProvider" siteMapFile="~/footer.sitemap"/>
                  </providers>
            </siteMap>
            <sessionState cookieless="AutoDetect" timeout="120"/>
            <roleManager enabled="true" cacheRolesInCookie="true" cookieName="TBSROLES" defaultProvider="TBS_RoleProvider">
                  <providers>
                        <add connectionStringName="LocalSqlServer" applicationName="/" name="TBS_RoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
                  </providers>
            </roleManager>
            <anonymousIdentification cookieless="AutoDetect" enabled="true"/>
            <profile defaultProvider="TBS_ProfileProvider">
                  <providers>
                        <add name="TBS_ProfileProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
                  </providers>
                  <properties>
                        <add name="FirstName" type="String"/>
                        <add name="LastName" type="String"/>
                        <add name="Street" type="String"/>
                        <add name="PostalCode" type="String"/>
                        <add name="City" type="String"/>
                        <add name="State" type="String"/>
                        <add name="Country" type="String"/>
                        <add name="Phone" type="String"/>
                        <add name="Fax" type="String"/>
        <add name="ShoppingCart" type="BT.TheBecauseSite.BLL.Store.ShoppingCart" serializeAs="Binary" allowAnonymous="true" />
        <add name="SessionVars" type="BT.TheBecauseSite.BLL.SessionVars" serializeAs="Binary" allowAnonymous="true" />
        <group name="Personal">
                              <add name="Gender" type="String"/>
                              <add name="BirthDate" type="DateTime"/>
                              <add name="Occupation" type="String"/>
                              <add name="Website" type="String"/>
                        </group>
                        <group name="Forum">
                              <add name="Posts" type="Int32"/>
                              <add name="AvatarUrl" type="String"/>
                              <add name="Signature" type="String"/>
                        </group>
                        <group name="Preferences">
                              <add name="Culture" type="String" defaultValue="en-US"/>
                              <add name="Newsletter" type="BT.TheBecauseSite.BLL.Newsletters.SubscriptionType"/>
                        </group>
                  </properties>
            </profile>
            <machineKey validationKey="287C5D125D6B7E7223E1F719E3D58D17BB967703017E1BBE28618FAC6C4501E910C7E59800B5D4C2EDD5B0ED98874A3E952D60BAF260D9D374A74C76CB741803" decryptionKey="5C1D8BD9DF3E1B4E1D01132F234266616E0D5EF772FE80AB" validation="SHA1"/>
            <urlMappings>
                  <add url="~/tips.aspx" mappedUrl="~/ShowArticle.aspx?ID=21"/>
                  <add url="~/faqs.aspx" mappedUrl="~/ShowArticle.aspx?ID=22"/>
            </urlMappings>
            <healthMonitoring heartbeatInterval="10800">
                  <providers>
                        <remove name="SqlWebEventProvider"/>
                        <add name="SqlWebEventProvider" connectionStringName="LocalSqlServer" buffer="false" bufferMode="Notification" maxEventDetailsLength="1073741823" type="System.Web.Management.SqlWebEventProvider,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"/>
                  </providers>
                  <eventMappings>
                        <add name="BT Events" type="BT.TheBecauseSite.WebCustomEvent, BT.TheBecauseSite.CustomEvents"/>
                  </eventMappings>
                  <rules>
                        <clear/>
                        <add name="BT Events" eventName="BT Events" provider="SqlWebEventProvider" profile="Critical"/>
                        <add name="All Errors" eventName="All Errors" provider="SqlWebEventProvider" profile="Critical"/>
                        <add name="Failure Audits" eventName="Failure Audits" provider="SqlWebEventProvider" profile="Critical"/>
                        <add name="Heartbeats" eventName="Heartbeats" provider="SqlWebEventProvider" profile="Critical"/>
                  </rules>
            </healthMonitoring>
      </system.web>
 <system.webServer>
            <validation validateIntegratedModeConfiguration="false"/>
            <modules>
                  <add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
            </modules>
            <handlers>
                  <remove name="WebServiceHandlerFactory-Integrated"/>
                  <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
                  <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
                  <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
            </handlers>
      </system.webServer>
      <location path="EditProfile.aspx">
            <system.web>
                  <authorization>
                        <deny users="?"/>
                        <allow users="*"/>
                  </authorization>
            </system.web>
      </location>
      <location path="AddEditPost.aspx">
            <system.web>
                  <authorization>
                        <allow roles="Administrators,Editors,Moderators,Posters"/>
                        <deny users="*"/>
                  </authorization>
            </system.web>
      </location>
      <system.net>
            <mailSettings>
                  <!-- <smtp deliveryMethod="Network"> -->
                  <smtp from="btracy@becauseyouwantit.com">
                        <network defaultCredentials="false" host="relay-hosting.secureserver.net" port="25" userName="btracy@becauseyouwantit.com" password="**********"/>
                  </smtp>
            </mailSettings>
      </system.net>
</configuration>


Thoughts? Ideas?  I'm checking with the hosting provider to see if there might be an issue with the server.

0
 
LVL 33

Accepted Solution

by:
raterus earned 500 total points
Comment Utility
Are you able to host this locally?  Do you see the problem there.  I'm still looking for something that is bogging down your site and I don't see it.  I really hate to start digging into your custom membership provider.

To me, this problem seems larger than your original question, I see noticeable delays just going to the site and browsing anonymously.  I was wondering if you observe this locally, or is this just something you see on the server.

You might try setting trace="true" in the page directive and looking at the results.  It will list times and you will hopefully be able to see where exactly the time is being taken up.
0
Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

 

Author Comment

by:batracy
Comment Utility
I do have it running on my local development machine and it also shows delays but not nearly so pronounced - the default.aspx page loads within 4 seconds and every hit to this page after the initial load is about 2.5 - 3 seconds (this is after the first access as the first access is starting the db and takes about 30 seconds to respond). Also running locally the login from the default.aspx page takes about 5 - 7 seconds, with the logout at about 4 seconds. The performance locally is significantly better than it is when running from the server, and I would expect some difference due to the network, but not what I'm getting. Even so, the local response is not what it should be as the sub page login/logout takes less than a second and each sub page loads in less than a second (even the more complicated pages).

Still waiting for response from hosting provider.
0
 

Author Comment

by:batracy
Comment Utility
I've set the trace="true" in the page directive for the default.aspx page, where do I find the results of this?
0
 

Author Comment

by:batracy
Comment Utility
Ok, I figured the trace thing out...pretty interesting looking at the results. It looks like I will have to remove code from the default.aspx page to determine which is the offending code.  Will look at this tomorrow.
0
 
LVL 33

Expert Comment

by:raterus
Comment Utility
Post the trace here of a "long" request if you get a chance.
0
 

Author Comment

by:batracy
Comment Utility
In looking through the trace output, I found that the site was loading and processing commented out code that had dependencies on other sites. I removed the commented out sections and it appears to be responding better, although there is still a lag on the login/logout (site load within 5 seconds, login/logout 4-7 seconds). Can you see if you are seeing the same, better, or worse response. The trace output is what is running on my local machine and it's responding within a second for all, so it wouldn't do much good to post the results.  The lag is between the begin load and end load, and when I looked at the control tree I found why (commented out code was still loading and processing, just not displaying).

Let me know what you see with the site.  I will award the points due to your pointing me to the trace function which I would never have thought of, and it seems to have pointed to the problem.

Thanks.
0
 
LVL 33

Expert Comment

by:raterus
Comment Utility
The site seems much faster now, there still seems to be a slight delay, but nothing that would make me want to close the site because it's "not responding".
0
 

Author Comment

by:batracy
Comment Utility
It is acceptable as is, and the only way to make it better at this point (I think) is to upgrade the hosting and get off the shared server.

Thanks for your help
Bruce
0
 
LVL 33

Expert Comment

by:raterus
Comment Utility
Glad you got it fixed.  Another thing with Page Tracing you may find useful is the Trace.Write function.  You can emit messages in the output.  It's great for finding out what is slowing down something.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

What is Node.js? Node.js is a server side scripting language much like PHP or ASP but is used to implement the complete package of HTTP webserver and application framework. The difference is that Node.js’s execution engine is asynchronous and event…
I've been asked to discuss some of the UX activities that I'm using with my team. Here I will share some details about how we approach UX projects.
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
Use Wufoo, an online form creation tool, to make powerful forms. Learn how to selectively show certain fields based on user input using rules to gather relevant information and data from your forms. The rules feature provides you with an opportunity…

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

7 Experts available now in Live!

Get 1:1 Help Now