Hi,

The page becomes very slow for the next 30 seconds when an administrator does a manual cache refresh or the site does it automatically because the cache expired. We have the 9.1.0.1 ML version with source but i guess the same problem persists in all younger versions also. The code has been modified but the original 9.1.0.1. shows the same slow page loads after cache refresh in our test, so our modifications aren't the problem.

On a site that has the CacheDurationMinutes setting very low and a high visit rate, that can become very anoying for customers having the result of customers leaving never to return, because it's slow for every single customer that commits an action on the site at that specific time until the cache is realoaded.

Is there a way to reduce the page load after a cache refresh?

Is there any other way to get around this problem?

Thank you for the help!
Markus
in ML by (195 points)

1 Answer

+1 vote
 
Best answer

Hmm, Markus is your site going to sleep and causing restarts due to low visits? Did you try extending the  Application Pool's  default timeout/"go to sleep" from 20 minutes to maybe 200 minutes?

Thank you,
Jan
 
Compunix, LLC (Phoenix, AZ)
AspDotNetStorefront Development Partner and Reseller since 2005
------------------------------------------------------------------------------------------------------
 AspDotNetStorefront add-ons and plugins : http://www.ecommercecartmods.com
 Complete Automotive Solution : http://www.autopartsshoppingcart.com
------------------------------------------------------------------------------------------------------
by (6.9k points)
selected by
It's a very visited site actually (more then 10.000 visits per day) so the Application Pool isn't recycling. As I said, it happens also when an administrator resets the cache in the admin site of the page.

Well after you reset the cache, the cart has to build back up all the Entity caches etc, so it might take time to load up and cache things at first. How robust is your server? Is it dedicated server or shared? Could be a resource issue too.

Thank you,
Jan
 
Compunix, LLC (Phoenix, AZ)
AspDotNetStorefront Development Partner and Reseller since 2005
------------------------------------------------------------------------------------------------------
 AspDotNetStorefront add-ons and plugins : http://www.ecommercecartmods.com
 Complete Automotive Solution : http://www.autopartsshoppingcart.com
------------------------------------------------------------------------------------------------------
Any way to optimize that rebuild process to speed it up? The server is a dedicated one with lots of resources (too much tbh). We are now thinking of solving the problem maybe with load-ballancing.

The store is a bit bigger and has around 600.000 products and about 2000 entities. For example the ProductCategory table has around 1.400.000 records.
Aha, ok that is why, it's a big store so caches take time to build regardless of page being hit.

However, you might want to run an SQL Profiler and see if maybe it's getting stuck with some SQL functions etc?

What is your URL?
Yeah, I tried that and I optimized all of the queries that were being called. I got to a point where the store can't get faster, but the customer is annoyed with those 30 seconds and he hits the manual "cache refresh" like 20 times per day.

Too bad the logic for the reset cache is in that locked DLL. There is tons of things to optimize in there I am sure!

We are thinking of a load balancing solution where the servers would spread the load and in case of a cache refresh event, one server would serve the old data, while another would deal with retrieving new data and store it in his cache, then serve that cached data to the other server so he could switch the data (and not deal with the costly retrieval). The customer wouldn't notice a "downtime" then.
So when it's hanging for the 30 seconds, do you see any SQL activity? Is it maybe running the aspdnsf_PABPEraseCCInfo or such? Or is it purely chugging away in the cart code itself?
That one takes 10ms. I guess we'll have to try something else out.

Thank you for your help though. Greatly appreciated!
...