I have created a few sites using Umbraco - the first couple of pages were existing sites recreated and therefore the sites had visitors enough the be keept alive. The last page is a new page and therefore there are no visitor - this means, that almost every visitor experience an extremly slow load of the first page (~30 sec) so most of the visitors leaves the homepage even before they see the first page.
I know what is happening behind the scenes - IIS has an idle timeout (20 minutes) so if no page request are made the ASP.NET application goes to sleep and needs to be started/compiled on the next visit. This is a normal cycle of ASP.NET applications, but in my "homemade" applications I experience a startup time in seconds whereas the site using Umbraco needs 30 seconds!
What is possible to do about this? My only guess is using some kind of ping-service (any free I can use?)? - but what about a precompiled version of Umbraco - is that possible and what can I expect in better performance? If using caching I guess the cache is cleared at the same time of idle timeout?
Keeping your site alive is done best using a ping service (there's some good ones, eg pingdom.com - free version as well - albeit limited in functionality - but does the job pretty well)
If you umbraco site takes so much time to load up, I'd really have a look at my implementation, or even do some tracing using the available umbDebugShowTrace=true querystring param to find the bottleneck and start optimizing from there.
Also check whether you've disabled debug mode on your site.
And yes, cache is cleared, it's even cleard with each publish of a page..
In my latest load time test the page took ~50 seconds to load.
umbracoDebugMode is by default set to true and compilation debug set to false.
When resetting the app by uploading a new web.config page load takes about 10 sec, almost 7 seconds is used in renderMacro [Rendering started (macro: Send To A Friend User Control, type: 3, cacheRate: 0)] - the user control is a very simpel tip a friend email-control - and 2 seconds is used by registerIapplications [+ Adding application 'umbraco.presentation.nodeFactory.UmbracoSiteMapProviderAccessUpdate]. And then I get a red line in template stating [Master template is the same as the current template. It would course an endless loop!].
The page is running version 4.5.2, .NET 3.5. I have unzipped the Umbraco package locally and then uploaded everything directly using FTP.
If I try to publish the web using Visual Studio I get this error [11 Object reference not set to an instance of an object.] but it is not telling anything about where the error occurs. If I try to build the web i get this error [11 Could not create type 'umbraco.webservices.documents.documentService'. F:\Web\afrikashorisonter.dk\umbraco\webservices\api\DocumentService.asmx].
I just did another test - loadtime about 30 seconds, 7.5 of these were code;
2.5 sec in registerIapplications + Adding application 'umbraco.presentation.nodeFactory.UmbracoSiteMapProviderAccessUpdate 2.2 sec in aspx.page End PreInit 0.7 sec in umbracoMacro Usercontrol added (usercontrols/SendToAFriend.ascx)... why so much difference from before????
so is this saying the the server needs more than 20 seconds in startup time??
Have you tried setting this up locally? If you get similar stats locally that would point to an application issue. If performance is good locally then there may be issues with caching and/or serve setup/performance on your deployed server. Either way this should give you a starting point for further investigation.
Its seems that the server currently hosting the site have some issues - the loadtimes differ a lot (mostly it is unacceptable) and locally and on another server the speed is acceptable. For now I will solve it using a ping but moving to another server will probably be needed.
extremly slow first load
I have created a few sites using Umbraco - the first couple of pages were existing sites recreated and therefore the sites had visitors enough the be keept alive. The last page is a new page and therefore there are no visitor - this means, that almost every visitor experience an extremly slow load of the first page (~30 sec) so most of the visitors leaves the homepage even before they see the first page.
I know what is happening behind the scenes - IIS has an idle timeout (20 minutes) so if no page request are made the ASP.NET application goes to sleep and needs to be started/compiled on the next visit. This is a normal cycle of ASP.NET applications, but in my "homemade" applications I experience a startup time in seconds whereas the site using Umbraco needs 30 seconds!
What is possible to do about this? My only guess is using some kind of ping-service (any free I can use?)? - but what about a precompiled version of Umbraco - is that possible and what can I expect in better performance? If using caching I guess the cache is cleared at the same time of idle timeout?
Hi Kim
Can you tell us a bit more about how your Umbraco installation is setup?
I have never heard about an Umbraco based website taking that long to load..sounds very weird.
/Jan
Keeping your site alive is done best using a ping service (there's some good ones, eg pingdom.com - free version as well - albeit limited in functionality - but does the job pretty well)
If you umbraco site takes so much time to load up, I'd really have a look at my implementation, or even do some tracing using the available umbDebugShowTrace=true querystring param to find the bottleneck and start optimizing from there.
Also check whether you've disabled debug mode on your site.
And yes, cache is cleared, it's even cleard with each publish of a page..
Hope this helps.
Regards,
/Dirk
http://www.247webmonitoring.com is a free ping service
In my latest load time test the page took ~50 seconds to load.
umbracoDebugMode is by default set to true and compilation debug set to false.
When resetting the app by uploading a new web.config page load takes about 10 sec, almost 7 seconds is used in renderMacro [Rendering started (macro: Send To A Friend User Control, type: 3, cacheRate: 0)] - the user control is a very simpel tip a friend email-control - and 2 seconds is used by registerIapplications [+ Adding application 'umbraco.presentation.nodeFactory.UmbracoSiteMapProviderAccessUpdate]. And then I get a red line in template stating [Master template is the same as the current template. It would course an endless loop!].
The page is running version 4.5.2, .NET 3.5. I have unzipped the Umbraco package locally and then uploaded everything directly using FTP.
If I try to publish the web using Visual Studio I get this error [11 Object reference not set to an instance of an object.] but it is not telling anything about where the error occurs. If I try to build the web i get this error [11 Could not create type 'umbraco.webservices.documents.documentService'. F:\Web\afrikashorisonter.dk\umbraco\webservices\api\DocumentService.asmx].
I just did another test - loadtime about 30 seconds, 7.5 of these were code;
2.5 sec in registerIapplications + Adding application 'umbraco.presentation.nodeFactory.UmbracoSiteMapProviderAccessUpdate
2.2 sec in aspx.page End PreInit
0.7 sec in umbracoMacro Usercontrol added (usercontrols/SendToAFriend.ascx)... why so much difference from before????
so is this saying the the server needs more than 20 seconds in startup time??
Kim,
Have you tried setting this up locally? If you get similar stats locally that would point to an application issue. If performance is good locally then there may be issues with caching and/or serve setup/performance on your deployed server. Either way this should give you a starting point for further investigation.
Its seems that the server currently hosting the site have some issues - the loadtimes differ a lot (mostly it is unacceptable) and locally and on another server the speed is acceptable. For now I will solve it using a ping but moving to another server will probably be needed.
Thanks for your comments!
is working on a reply...