Quick Nav:  Online Store   |   Login | Register

Does PageBlaster replace Keep-alive?

Rate this topic:

Please Register to post a reply. Another benefit of registration is the ability to subscribe to and recieve notifications of new posts.
AuthorMessages
BigBlueEye
<20 Posts
Posts:3


12/26/2007 6:36 PM  

My ISP kills the application after 20 minutes of inactivity resulting in a load time of anywhere from 10 to 20 seconds. It was recommended that I use a stay-alive service. Will PageBlaster make a stay-alive module unnecessary?

Ari Doucette
<100 Posts
Posts:58


12/27/2007 5:56 AM  
Page Blaster will help but it won't totally solve the problem. You should use both PageBlaster and a keep-alive service.
That said, PB is the best performance add-on for DNN I've seen. And it does lots of other useful stuff too. It is so useful, I begin to think it is necessary...

Killing the app after 20 minutes is the default for Windows IIS. The app pool for your website will recycle after 20 minutes of inactivity. So, if something hits the site before 20 minutes elapses, no recycle, and the site stays up for the most part. Since my site isn't all that popular, I use keep-alive services for this. Since I'm cheap, I use the free keep-alive services. Host-Tracker, Montastic, and SiteUptime all have free versions available. Between the three of these, one can reasonably expect the site to be hit less than every 20 minutes.

If you use PageBlaster, it will build a cached copy of a page on the server's hard disk (or memory if you tell it to) after the page has been requested. So if you tell it to cache your home page for 24 hours then after someone requests your home page (human or keepalive service) a cached copy will be made. The next time it is requested, the cached copy will be served up. So, this doesn't require the whole DNN application to be started and all loaded into memory. It can be served up faster. You'll notice the difference immediately.

John can tell you if I'm wrong (and likely I've gone wrong somewhere).

Page-Blaster is great. It is the best money we've spent for DNN (besides hosting, which was of a more primary importance). And the Keep-Alive service really helped as well (until we got our own server and could adjust the IIS recycle settings).

Hope this helps,
Ari
Ari Doucette
<100 Posts
Posts:58


12/27/2007 5:58 AM  

Also check out this thread on dotnetuke performance
http://www.snapsis.com/DotNetNuke/Support/tabid/560/forumid/11/postid/7391/view/topic/IIS-configuration-for-best-DNN-performance.aspx

John Mitchell
Posts:3492


12/27/2007 7:41 AM  

Excellent answer Ari. Thanks!

The only thing I can think to add is that PageBlaster does not attempt to keep the application alive itself because I feel that is something that is best done from outside the application.  The added benifit of using a monitoring service to keep your application alive is that you will also be notified if your application is not responding for some other reason.

Ari Doucette
<100 Posts
Posts:58


12/27/2007 7:56 AM  
John:
If the app pool has been recycled, the DNN site has not yet re-started, a page is requested, a cached version exists, and PageBlaster gives the cached page to the requester ---
In this situation, will the DNN site also be started somehow so that subsequent non-cached pages can be served up without a delay?
John Mitchell
Posts:3492


12/27/2007 11:33 AM  
Yes & No.
Any request that requires the ASP.Net pipeline (.aspx pages, etc.) to an ASP.Net site will reload the assemblies from the /bin into memory, and subsequent requests will not require that same startup time.

However, there may also be a lag time if the ASP.Net engine decides that the Page or Folder being requested needs to be Just-In-Time (JIT) compiled. That is the reason that even if you have a keep-alive service calling the Keep-Alive page, there may still be some lag time on other pages of your site, especially those that have many controls. I have seperate monitoring on my forums and store pages so that those are always "ready" also.

The main reason PageBlaster speeds up page delivery even after the site has cycled down or needs to be recompiled is because it allows a static page to be returned from memory or disk without having to rebuild all the dynamic parts that require the Database.

The next version of PageBlaster will also have an option to save a dynamic page as static html. This will mean even faster delivery because a request for an html page will bypass the lagtime of the ASP.Net startup all together.

Ari Doucette
<100 Posts
Posts:58


12/27/2007 11:47 AM  

Thanks for clearing that up. I had often wondered... (OK, maybe a few times)
I had also (mistakenly) thought that the whole page was already being returned as static html. So the next PB will do this. Wow (same 'wow' i mistakenly had before, I guess).
So, if the PB caches a page to disk or memory, then the issue of how long before the cached page expires is raised. If the expiry is set for 1 day, does that mean that the cached page can be served up until 1 day after it was made? What happens after 25 hours? The site waits for a request for the page, serves it up in the normal manner, and PageBlaster makes a cached copy of it for the next request? So the 25-hour request might be slower, but the 26-hour request is fast as it is serving a cached page? If this is so, is there a way to have the cached pages be re-built and re-cached when they expire?

I also use the keep-alive services to request pages from the store, and the login page (don't know why but it seems to help).

How is development of the new PB going? I look forward to installing it and having page replacement rules.

John Mitchell
Posts:3492


12/27/2007 12:15 PM  
It wasn't really a mistake to think that the page being returned from the current PageBlaster cache is a static html page. The difference is that it still has an asp.net extension so the asp.net engine has to get it from disk or memory. In the new version I'm making it an option to give that page an htm or html extension so that the asp.net engine does not have to be used at all (which bypasses the need for a keep-alive). This will be most useful for the home page because you could save the root default.aspx page as default.htm and if your IIS is configured to first deliver default.htm as your default document then the asp.net engine will never be required for deliverying your home page. Of course there are always trade-offs. If the Page is saved as static Html then you can't have it pre-compressed, so if you also want http compression then it will have to be done in IIS.

The static page will be updated as you described, just like PageBlaster refreshes it's own cache now. I often hear the request to "pre-load" the first request into cache after it has expired, but I really feel that is not the most efficient way to handle caching. If you want the page to stay in cache longer then you should set the expiration time longer (at least the disk expiration). It really doesn't hurt to extend the cache time, because PageBlaster is pretty good about automatically updating your cache if a change is made, and if you make a change to a page and want to insure that the PageBlaster cache is updated then using CTRL+Refresh will insure that the page is cleared from cache.

I have the new version working with Page Rules again, and also have some other enhancements already completed. I've just been thinking of new features and also need to do testing, so I have delayed the release. Send me an e-mail if you'd like to try it out now and I'll create a beta build.

Ari Doucette
<100 Posts
Posts:58


12/27/2007 12:24 PM  
So if the site doesn't change much (except for the forums, wiki etc) then is there anything wrong with setting the cache to something like a week? Are there potential problems with a long disk cache time like that?

You mention about the home page being .htm. I look forward to reading the instructions (and likely lots of forum entries) about this. Sounds interesting.
John Mitchell
Posts:3492


12/27/2007 12:37 PM  
Sure, a week should not be a problem at all, and maybe longer if it doesn't change in that time. The disk-interval should be set at least as long as the shortest time that automatic updates are done to your home page, and if you don't mind clearing the cache manually then you can set it for a very long time.
paco
<50 Posts
Posts:27


01/25/2008 8:52 AM  

Hello you wrote: The next version of PageBlaster will also have an option to save a dynamic page as static html. This will mean even faster delivery because a request for an html page will bypass the lagtime of the ASP.Net startup all together.

Can you give an idea when this will become available? Will it be available on both versions, free and paid?

Thanks in advance, Paco

John Mitchell
Posts:3492


01/25/2008 10:22 AM  
Hi paco,
I'm going to do my best to have the next version available by the end of the month. It's been way too long, but there are some nice new features to show for it.

The option to save a page as static html will only be available in the commercial module.
paco
<50 Posts
Posts:27


01/25/2008 12:11 PM  

Hello John, Thanks for the fast reply.
I am loooking forward to these new features.
Regards, Paco

Please Register to post a reply. Another benefit of registration is the ability to subscribe to and recieve notifications of new posts.
Forums >Snapsis Product Support >PageBlaster > Does PageBlaster replace Keep-alive?



ActiveForums 3.7
Powered by: Snapsis Software