slow page loading

Topics: ASP.NET 2.0
Aug 10, 2009 at 10:56 PM

I have a problem with the 1.5 final version.  The homepage loads very slowly.  I've disabled the compression on WebResource.asdx.  I've removed most widgets and disabled all my extensions.

The web.config reported on error on the line

<httpRuntime enableVersionHeader="false" useFullyQualifiedRedirectUrl="true" maxRequestLength="16384" executionTimeout="3600" requestLengthDiskThreshold="16384"/>

but the site works when I rem the line.  Could this be slowing it down?

I'm using the MSSQL data source, but it loaded slow using XML too.

The site is here for reference.

Coordinator
Aug 10, 2009 at 11:37 PM

If you're getting an error, posting the actual error message would be helpful.

Aug 11, 2009 at 1:40 AM

Error as follows:

Server Error in '/' Application.
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: This configuration section cannot be used at this path.  This happens when the site administrator has locked access to this section using  from an inherited configuration file.

Source Error:

Line 52: 		
Line 53: 		
Line 54: 		
Line 55: 		
Line 56: 		


Source File: ***********www\web.config    Line: 54

Version Information: Microsoft .NET Framework Version:2.0.50727.3082; ASP.NET Version:2.0.50727.3082 

I'm on shared hosting, fyi.

Coordinator
Aug 11, 2009 at 2:27 AM

Just removing the <httpRuntime> element like you did is good.  It's the only option actually because the web hoster has their servers configured to not allow an individual site to override their <httpRuntime> settings.  It isn't required to specify your own <httpRuntime> element for BE to run.  I'm sure the one the web hoster has setup on their side is fine.

Yes, the pages on your site can take up to 11 or 12 seconds to come up.  Although, once the page has come up, it seems to come up quickly for a while after that.  I would maybe try removing the Blogroll widget, and if you've added any custom Extensions, I would try disabling those (in the control panel).  You might want to even try disabling the Extensions that come with BE, although I can't imagine any of those causing slow page loads.

You could try disabling "HTTP Compression" too, just to see if it makes any difference.  This setting is in the same Advanced Settings section the "Compress WebResource.axd" is in.

Aug 11, 2009 at 3:55 PM

I've disabled every extension, removed all widgets except a text and the navigation widget.  Unchecked HTTP compression as well as Compress Webresource.......

What else could this be? Should I revert to an earlier version at this point?

Aug 12, 2009 at 11:28 AM
Edited Aug 12, 2009 at 11:31 AM

I got a response from my Hosting company:

The site is taking a wile to load due to ASP compiling.
Check also if the connection string is correct in the web.config file."

My connection string is here with the rest of my web.config:

 

 
<?xml version="1.0"?>
<configuration>
	<configSections>
		<sectionGroup name="BlogEngine">
			<section name="blogProvider" requirePermission="false" type="BlogEngine.Core.Providers.BlogProviderSection, BlogEngine.Core" allowDefinition="MachineToApplication" restartOnExternalChanges="false"/>
		</sectionGroup>
	</configSections>
	<BlogEngine>
		<blogProvider defaultProvider="DbBlogProvider">
			<providers>
				<add name="XmlBlogProvider" type="BlogEngine.Core.Providers.XmlBlogProvider, BlogEngine.Core"/>
				<add name="DbBlogProvider" type="BlogEngine.Core.Providers.DbBlogProvider, BlogEngine.Core" connectionStringName="BlogEngine"/>
			</providers>
		</blogProvider>
	</BlogEngine>
	<!-- configSource is not implemented in Mono.
    <connectionStrings configSource="sql.config" />
  -->
	<connectionStrings>
		<clear/>
		<add name="LocalSqlServer" connectionString="dummy"/>
		<!-- Mono complains if LocalSqlServer isn't specified -->
    <add name="BlogEngine" connectionString="Data Source=192.168.***.***;User ID=*****;Password=******;persist security info=False;initial catalog=*****;" providerName="System.Data.SqlClient"/>
	</connectionStrings>
	
	<appSettings>
		<add key="BlogEngine.FileExtension" value=".aspx"/>
		<!-- You can e.g. use "~/blog/" if BlogEngine.NET is not located in the root of the application -->
		<add key="BlogEngine.VirtualPath" value="~/"/>
		<!-- The regex used to identify mobile devices so a different theme can be shown -->
		<add key="BlogEngine.MobileDevices" value="(nokia|sonyericsson|blackberry|samsung|sec\-|windows ce|motorola|mot\-|up.b|midp\-)"/>
		<!-- The name of the role with administrator permissions -->
		<add key="BlogEngine.AdminRole" value="Administrators"/>
		<!--This value is to provide an alterantive location for storing data.-->
		<add key="StorageLocation" value="~/App_Data/"/>
		<!--A comma separated list of script names to hard minify. It's case-sensitive. -->
		<add key="BlogEngine.HardMinify" value="blog.js,widget.js,WebResource.axd"/>
	</appSettings>
	
	<system.web>
		
		<compilation debug="false">
			<assemblies>
				<add assembly="System.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
				<add assembly="System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
				<add assembly="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
				<add assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
				<add assembly="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
				<add assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
				<add assembly="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
			</assemblies>
		</compilation>
		
		<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="auto" uiCulture="auto"/>
		<!-- <httpRuntime enableVersionHeader="false" useFullyQualifiedRedirectUrl="true" maxRequestLength="16384" executionTimeout="3600" requestLengthDiskThreshold="16384"/>
	 -->	<machineKey validationKey="*****************************" decryptionKey="****************************************" validation="SHA1" decryption="AES"/>
		
		<authentication mode="Forms">
			<forms timeout="129600" name=".AUXBLOGENGINE" protection="All" slidingExpiration="true" loginUrl="~/login.aspx" cookieless="UseCookies"/>
		</authentication>
		
		<pages enableSessionState="false" enableViewStateMac="true" enableEventValidation="true">
			<controls>
				<add namespace="Controls" tagPrefix="blog"/>
			</controls>
		</pages>

		<customErrors mode="Off"/>

		
		<membership defaultProvider="DbMembershipProvider">
			<providers>
				<clear/>
				<add name="XmlMembershipProvider" type="BlogEngine.Core.Providers.XmlMembershipProvider, BlogEngine.Core" description="XML membership provider" passwordFormat="Hashed"/>
				<add name="SqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="BlogEngine" applicationName="BlogEngine"/>
				<add name="DbMembershipProvider" type="BlogEngine.Core.Providers.DbMembershipProvider, BlogEngine.Core" passwordFormat="Hashed" connectionStringName="BlogEngine"/>
			</providers>
		</membership>
		
		<roleManager defaultProvider="DbRoleProvider" enabled="true" cacheRolesInCookie="true" cookieName=".BLOGENGINEROLES">
			<providers>
				<clear/>
				<add name="XmlRoleProvider" type="BlogEngine.Core.Providers.XmlRoleProvider, BlogEngine.Core" description="XML role provider"/>
				<add name="SqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="BlogEngine" applicationName="BlogEngine"/>
				<add name="DbRoleProvider" type="BlogEngine.Core.Providers.DbRoleProvider, BlogEngine.Core" connectionStringName="BlogEngine"/>
			</providers>
		</roleManager>
		
		<siteMap defaultProvider="PageSiteMap" enabled="true">
			<providers>
				<add name="PageSiteMap" description="The site map provider that reads in the .sitemap XML files." type="BlogEngine.Core.Web.Controls.PageSiteMap, BlogEngine.Core"/>
				<add name="SecuritySiteMap" description="Used for authenticated users." type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" securityTrimmingEnabled="true" siteMapFile="Web.sitemap"/>
			</providers>
		</siteMap>
		
		<httpModules>
			<add name="WwwSubDomainModule" type="BlogEngine.Core.Web.HttpModules.WwwSubDomainModule, BlogEngine.Core"/>
			<add name="UrlRewrite" type="BlogEngine.Core.Web.HttpModules.UrlRewrite, BlogEngine.Core"/>
			<add name="CompressionModule" type="BlogEngine.Core.Web.HttpModules.CompressionModule, BlogEngine.Core"/>
			<add name="ReferrerModule" type="BlogEngine.Core.Web.HttpModules.ReferrerModule, BlogEngine.Core"/>
			<!--Remove the default ASP.NET modules we don't need-->
			<remove name="PassportAuthentication"/>
			<remove name="Profile"/>
			<remove name="AnonymousIdentification"/>
		</httpModules>
		
		<httpHandlers>
			<add verb="*" path="file.axd" type="BlogEngine.Core.Web.HttpHandlers.FileHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="image.axd" type="BlogEngine.Core.Web.HttpHandlers.ImageHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="syndication.axd" type="BlogEngine.Core.Web.HttpHandlers.SyndicationHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="sitemap.axd" type="BlogEngine.Core.Web.HttpHandlers.SiteMap, BlogEngine.Core" validate="false"/>
			<add verb="*" path="trackback.axd" type="BlogEngine.Core.Web.HttpHandlers.TrackbackHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="pingback.axd" type="BlogEngine.Core.Web.HttpHandlers.PingbackHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="opensearch.axd" type="BlogEngine.Core.Web.HttpHandlers.OpenSearchHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="metaweblog.axd" type="BlogEngine.Core.API.MetaWeblog.MetaWeblogHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="rsd.axd" type="BlogEngine.Core.Web.HttpHandlers.RsdHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="css.axd" type="BlogEngine.Core.Web.HttpHandlers.CssHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="js.axd" type="BlogEngine.Core.Web.HttpHandlers.JavaScriptHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="rating.axd" type="BlogEngine.Core.Web.HttpHandlers.RatingHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="opml.axd" type="BlogEngine.Core.Web.HttpHandlers.OpmlHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="blogml.axd" type="BlogEngine.Core.Web.HttpHandlers.BlogMLExportHandler, BlogEngine.Core" validate="false"/>
			<add verb="*" path="sioc.axd" type="BlogEngine.Core.Web.HttpHandlers.Sioc, BlogEngine.Core" validate="false"/>
			<add verb="*" path="apml.axd" type="BlogEngine.Core.Web.HttpHandlers.Apml, BlogEngine.Core" validate="false"/>
			<add verb="*" path="foaf*.axd" type="BlogEngine.Core.Web.HttpHandlers.Foaf, BlogEngine.Core" validate="false"/>
		</httpHandlers>
	</system.web>
	
	<system.webServer>
		<validation validateIntegratedModeConfiguration="false" />

		<!-- Enable the staticContent section below to add Expires headers to images for better performance.
				 Some hosting providers does not allow the staticContent section to be set. -->
		<!--
		<staticContent>
			<clientCache httpExpires="Sun, 29 Mar 2020 00:00:00 GMT" cacheControlMode="UseExpires" />
		</staticContent>
		-->


		<modules>
			<add name="WwwSubDomainModule" type="BlogEngine.Core.Web.HttpModules.WwwSubDomainModule, BlogEngine.Core" />
			<add name="UrlRewrite" type="BlogEngine.Core.Web.HttpModules.UrlRewrite, BlogEngine.Core" />
			<add name="CompressionModule" type="BlogEngine.Core.Web.HttpModules.CompressionModule, BlogEngine.Core" />
			<add name="ReferrerModule" type="BlogEngine.Core.Web.HttpModules.ReferrerModule, BlogEngine.Core" />
		</modules>

		<handlers accessPolicy="Read, Write, Script, Execute">
			<add name="FileHandler" verb="*" path="file.axd" type="BlogEngine.Core.Web.HttpHandlers.FileHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
			<add name="ImageHandler" verb="*" path="image.axd" type="BlogEngine.Core.Web.HttpHandlers.ImageHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
			<add name="Syndication" verb="*" path="syndication.axd" type="BlogEngine.Core.Web.HttpHandlers.SyndicationHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
			<add name="Sitemap" verb="*" path="sitemap.axd" type="BlogEngine.Core.Web.HttpHandlers.SiteMap, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
			<add name="Trackback" verb="*" path="trackback.axd" type="BlogEngine.Core.Web.HttpHandlers.TrackbackHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
			<add name="Pingback" verb="*" path="pingback.axd" type="BlogEngine.Core.Web.HttpHandlers.PingbackHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
			<add name="OpenSearch" verb="*" path="opensearch.axd" type="BlogEngine.Core.Web.HttpHandlers.OpenSearchHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
			<add name="MetaWeblog" verb="*" path="metaweblog.axd" type="BlogEngine.Core.API.MetaWeblog.MetaWeblogHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
			<add name="RSD" verb="*" path="rsd.axd" type="BlogEngine.Core.Web.HttpHandlers.RsdHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
			<add name="CssHandler" verb="*" path="css.axd" type="BlogEngine.Core.Web.HttpHandlers.CssHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
			<add name="Javascript" path="js.axd" verb="*" type="BlogEngine.Core.Web.HttpHandlers.JavaScriptHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
			<add name="Rating" verb="*" path="rating.axd" type="BlogEngine.Core.Web.HttpHandlers.RatingHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
			<add name="Opml" verb="*" path="opml.axd" type="BlogEngine.Core.Web.HttpHandlers.OpmlHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
			<add name="BlogML" verb="*" path="blogml.axd" type="BlogEngine.Core.Web.HttpHandlers.BlogMLExportHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
			<add name="SIOC" verb="*" path="sioc.axd" type="BlogEngine.Core.Web.HttpHandlers.Sioc, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
			<add name="Apml" verb="*" path="apml.axd" type="BlogEngine.Core.Web.HttpHandlers.Apml, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
			<add name="Foaf" verb="*" path="foaf*.axd" type="BlogEngine.Core.Web.HttpHandlers.Foaf, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
		</handlers>

		<!-- Enable the httpProtocol section below to manipulate some HTTP headers.
				 Some hosting providers does not allow the httpProtocol section to be set. -->
		<!--
		<httpProtocol>
			<customHeaders>
				<remove name="X-Powered-By" />
				<add name="Etag" value=" " />
			</customHeaders>
		</httpProtocol>
		-->
	</system.webServer>

</configuration>


Any reason why my site would compile every time?

 

Coordinator
Aug 13, 2009 at 5:27 AM

The connection string looks fine.  If there was a problem with it, it probably wouldn't be able to connect to the DB at all.

Glancing through the web.config file, it looks like the typical BE web.config file.

There's no reason to believe the site is compiling every time.  There's actually really no evidence to show that it either is compiling or isn't compiling.  I've personally not seen an ASP.NET site that would need to re-compile over and over.

My only guess is that the hosting provider may have their servers configured strangely.  Are they a host that host a lot of ASP.NET websites?  Or do they mostly host other types of sites and only a small percentage of customers host ASP.NET sites?  Is the host an ISP?

The fact that they've not allowed the <httpRuntime> element to be configured in the web.config file and their support department says "ASP compiling" rather than "ASP.NET compiling" are subtle hints that the host may not be a big ASP.NET hoster.

I'm of course just speculating since I can't currently think of any options within BE that could be configured to remove that initial 10 second page load delay.

Aug 13, 2009 at 4:21 PM

The host is purely a asp/asp.net environment.  We have over 70 sites with them and this is the only time I can remember a site taking this long to load.

They suggested using their recommended fully qualitfied domain for the SQL Server in the connection string as opposed to the internal IP, which I did and it doesn't help the situation any.

First load is extremely slow, other pages loads are fine until you leave it for a few seconds to a minute and it takes 15-20 seconds to load, then it's fine for a while....

 

Is there some part of the blog engine that changes source to cause the recompile?

 

Oct 29, 2010 at 7:36 PM

I have the same issue the first load of BlogEngine page is extreamly long. 25-30 s nearby.  SQL Profiler show then we have a lot of DELETE and INSERT statements to be_DataStoreSettings table and SELECT statements from almost all tables.

It looks like BlogEngine retieves all needed data and cache it. Because all other requests to  this page are quick. And one second request we have only one SELECT statement to be_DataStoreSettings and no any actions with database.

So what is the reason of problem?

Coordinator
Oct 30, 2010 at 9:59 PM

It's really not at all unusual for the initial loading of BE to take 25 to 30 seconds.  BE caches a lot of data, and it takes some time for all this to happen.  In particular, as you get up to thousands of posts, it can take even more time.  Machine speed can also play a role in the initial load time.

But after the initial load, if all subsequent access is going quickly, then that is how it's designed to work since the data no longer needs to be retrieved on these subsequent page accesses.

On the other hand, if you had a problem where the data is reloading every few minutes, that would be a problem.

If the blog isn't accessed for a while, or if the application pool recycles, the data cached in memory will clear out and the next time the blog is accessed, you'll probably have that long initial load time.

My blog (allben.net) takes about 25 seconds to load.  The site gets steady enough traffic that its always loaded (i.e. it does become stagnant).  Because it's always loaded, I never see that initial delay.

Oct 31, 2010 at 6:27 PM
Okay. As you mentioned if blog isn't accessed for a while or the application pool recycles then data cache cleared.
How much time should be blog don't accessed for forcing cache clear?
Do we have any way to control this time? For example by some settings in web.config or by any other way?

From: BenAmada
Sent: Saturday, October 30, 2010 11:59 PM
Subject: Re: slow page loading [blogengine:65125]

From: BenAmada

It's really not at all unusual for the initial loading of BE to take 25 to 30 seconds. BE caches a lot of data, and it takes some time for all this to happen. In particular, as you get up to thousands of posts, it can take even more time. Machine speed can also play a role in the initial load time.

But after the initial load, if all subsequent access is going quickly, then that is how it's designed to work since the data no longer needs to be retrieved on these subsequent page accesses.

On the other hand, if you had a problem where the data is reloading every few minutes, that would be a problem.

If the blog isn't accessed for a while, or if the application pool recycles, the data cached in memory will clear out and the next time the blog is accessed, you'll probably have that long initial load time.

My blog (allben.net) takes about 25 seconds to load. The site gets steady enough traffic that its always loaded (i.e. it does become stagnant). Because it's always loaded, I never see that initial delay.

Read the full discussion online.

To add a post to this discussion, reply to this email (blogengine@discussions.codeplex.com)

To start a new discussion for this project, email blogengine@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on CodePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at CodePlex.com

Coordinator
Oct 31, 2010 at 9:52 PM

There's not any web.config settings I'm aware of to control this.  The application pool within IIS can be configured to recycle at certain time periods, or if the amount of memory used reaches a certain limit.  The other major case where the website "sleeps" is when the site is stagnant for a while.  I don't have any hard numbers, but this latter case might happen if the site isn't accessed for anywhere from 15 to 45 minutes (just a guess).  If someone is accessing the site at least every 5 to 10 minutes, I think you'll be okay.

One thing you can do to control this is to setup something that will hit your site on a regular basis.  There's several ways to do this.  One way is to use a service (with free and non-free plans) like siteuptime that hits/pings your site on a scheduled basis.  It looks like the free plan is every 30 minutes and paid plan is as little as every 5 minutes.  Each time they hit your site, it'll keep your site/blog alive.  There's similar types of programs you can install on your own computer that will hit a website or webpage, and this can be scheduled either thru the program itself or thru the Windows Task Scheduler.

Nov 5, 2010 at 4:53 AM

Hi, everyone,  I'm afraid I'm facing the same problem, but the situation is worse: my blog's alive time is only 30 seconds, does it mean the application pool on my host server will recycle for every 30 seconds? because of the hosting provider's mean configuration or other reasons? 

May I ask is there a way to lower the cache mechanism's dependency on application pool ?

Thanks.

Coordinator
Nov 5, 2010 at 7:18 AM

Your blog is restarting every 30 seconds?  Do you have a lot of posts (i.e. thousands)?

If it's restarting every 30 seconds, it could be a problem with an extension or something that is misbehaving.  If you have any custom extensions or widgets installed, I would try disabling or removing those.

You could also try asking the hosting provider if they can provide any information on your site and application pool, and what's going on with it from their perspective.

Nov 5, 2010 at 8:33 AM

Hi, Ben, you've been online that late... take care. 

Data:

    40+ posts, 100+ comments

Latency (record by Webkit developer tools panel, 2 trials):

    Homepage  35.12s/28.14s

    A single post page refresh after 1min+ idle time: 18.06s/17.02s

    Continuous post page navigation (interval less than 5sec): 715ms/40ms

Host Environment:

    Win server 2003

    configurations: unknown...

    .NET 2/3.5

    Virtual hosting, multiple sites sharing same server.

BlogEngine.NET:

    BlogEngine 1.6.1.0 using SQLite

AkismetFilter                              Disabled
BBCode                                     Enabled
CodeFormatterExtension             Enabled
Logger                                      Enabled
Recaptcha                                  Disabled
ResolveLinks                              Enabled
SendCommentMail                     Enabled
SendPings                                  Enabled
Smilies                                      Enabled
TypePadFilter                            Disabled
BreakPost                                  Enabled

This is obviously abnormal, my blogEngine installation worked quite well one month ago.

I'll do two things to try to identify the cause:

  • Add some timer code to my BlogEngine.web source, and analyse the bottleneck.
  • Ask host provider for its IIS log file. 

Hope I can find the root cause.

Nov 8, 2010 at 12:54 PM
No, my blog doesn't restart every 30 seconds and I have not many posts. So it is really cashing issue, cache clears after some time, near 10 - 15 minutes. But, thank you anyway for help.

From: BenAmada
Sent: Friday, November 05, 2010 9:18 AM
Subject: Re: slow page loading [blogengine:65125]

From: BenAmada

Your blog is restarting every 30 seconds? Do you have a lot of posts (i.e. thousands)?

If it's restarting every 30 seconds, it could be a problem with an extension or something that is misbehaving. If you have any custom extensions or widgets installed, I would try disabling or removing those.

You could also try asking the hosting provider if they can provide any information on your site and application pool, and what's going on with it from their perspective.

Read the full discussion online.

To add a post to this discussion, reply to this email (blogengine@discussions.codeplex.com)

To start a new discussion for this project, email blogengine@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on CodePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at CodePlex.com

Nov 17, 2010 at 12:59 AM

I also have a couple of problems with ver 1.6 I am running 2008 with MSQL 2005:

The software takes an absalute age to load 2 to 3 minites this also applies to changing pagies there are no error messages the blog is using an iframe running under dotnetnuke and it is running as an aplication.

I canot get it to work with the sql database so at present i am trying to use with its local database the sql database sets up without any problems but when i try to run it, it reports it can't connect to the sql server,

sql server details below and connection string .

Microsoft SQL Server Management Studio Express  9.00.2047.00
Microsoft Data Access Components (MDAC)           6.0.6002.18005 (lh_sp2rtm.090410-1830)
Microsoft MSXML                                                 3.0 5.0 6.0
Microsoft Internet Explorer                                    8.0.6001.18975
Microsoft .NET Framework                                    2.0.50727.4206
Operating System                                                 6.0.6002

<connectionStrings>
        <clear/>
        <add name="BlogEngine" connectionString="Data Source=3D-REALM\SQLEXPRESS;User ID=forum;Password=forum;persist security info=False;initial catalog=BlogEngine;" providerName="System.Data.SqlClient"/>
</connectionStrings>

Any thought on these problems would be more than appreciated.

as a footnote the slow loading is the same even when browsing it on the website serverside using the brows function that is avalable localy on all sites under 2008.

De Bob

 

Coordinator
Nov 18, 2010 at 6:07 AM

That DB connection string basically looks okay.  Is that the correct credentials?  Basically, if the credentials are correct and the SQL Server is accepting connections, then the DB connection will work.  If the credentials are incorrect, or the SQL Server is not configured to accept connections, then it won't be able to connect.

If you have a SQL Management Studio, I would try connecting to that DB using that same information (server name, DB, username & pwd) -- to see if you can connect.

Probably the reason for the long page loads is because each time it is trying to connect to the DB, but finally times out and fails.

If you switch to the default XmlBlogProvider (instead of DB), do the pages load faster then?  Btw, if you use the XmlBlogProvider, you will need to give Write permissions to the ASPNET account on the App_Data folder.