Hi there, I hope someone will be able to shed some light on a major problem we are having with Episerver 6.
We are running Episerver CMS 6 on a web server at an ISP. The backend is SQL 2005, running on the same box. The site is quite large.
The problem seems to be some sort of cache issue.
When a page is altered in Episerver, and then viewed from a browser, the page will change every time you refresh it - EG, it will toggle between the newest, and oldest versions of the page.
Also, if you delete a page, it will remain available for some time.
It definitely appears to be some kind of cache issue. Has anyone ever experienced this?
Normally I'd point the finger at load balancing issues but it sounds like you are using just a single web server?
If that's the case then it might be worth checking if you are using output caching?
Yes it's a single server, no load-balancing.
How do I check output caching? Is this in the web.config? Please could you tell me what value to look for? (And possibly what it could be changed to?)
EPiServer output caching is defined in the httpCacheExpiration attribute in the <sitesettings> element in episerver.config. Switch it to 00:00:00 to turn it off. Its worth noting that if you are signed in to EPiServer the output will never be cached anyway...
Just checked - the value is as follows: httpCacheVaryByParams="id,epslanguage" httpCacheExpiration="00:00:00"
So - looks like output cache is turned off. Is there anything else that might provide these symptoms?
We noticed an interesting note in the episerver "output cache, when and why" document, which stated
By the looks of it the output cache might not be the problem.
Does the site hook into any EPiServer DataFactory events? In particular look for hooks into LoadedPage and LoadingPage as someone might've put some caching code in there that unnecessarily caches page content (as EPiServer does a good job of it itself). Its always worth looking at all DataFactory events though as these can cause strange behaviours.
Hi David, I'm not aware it hooks into any DataFactory Events, is there a simple way to find out?
There is no simple way but if you look for methods with a signature of "void MethodName(object sender, PageEventArgs e)" then its a good place to start...
make sure you're not running in a "web garden", which is effectively load balancing but on one server. See:
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/659f2e2c-a58b-4770-833b-df96cabe569e.mspx?mfr=true for more information about web gardens.
If this is IIS 7.x, it is configured with the "Maximum Worker Processes" on the app pool (see http://www.emanuelebartolesi.com/post/Web-Garden-on-IIS-7.aspx)
You do not want to run in a web garden or with multiple worker processes.
Good point Steve, I hadn't considered a web garden. Agree that web gardens are not a good idea for EPiServer!
Just to update you on this one, the problem was found to be that the web garden setting in the application pool, was set to 5, where it should have been set to 1. This was the cause of the problem.
A big thanks to everyone who contributed - and an even bigger thanks to Adrian and the team from Auros, and Episerver themselves, who worked tirelessly to resolve this for us. Top stuff!
I just wanted to say thank you for this. We have a EPiServer 4 intranet and experienced the same problem. Thanks to this thread I solved it in five minutes by googling on "EPiServer cache problems".
Hello everyone ....I am facing same problem but my site is on NLB. Definatly the problem is related to cache. If any body could suggest any workaround or any will be appreciated . I have tried few possible soln bt still pblm persist. Kindly follow the post at :