wolverine10
 Posts:10

| | 10/05/2007 10:12 AM |
| What's up all,
I just installed the Free version on one of my dev servers to see what it is all about. Do I need to switch to "no cache" in the DNN Host area after Page Blaster is installed? Thanks! | | | |
|
|
|
John Mitchell Posts:3248


| | 10/05/2007 10:28 AM |
| Hi Wolverine, Thanks for trying it out. No, you should leave the normal DNN caching on. Just make sure to remove the core DNN compression module from Web.config | | | |
|
wolverine10
 Posts:10

| | 10/05/2007 10:47 AM |
| Yup, already removed the compression reference in the web.config file.
But I am a little worried...I am trying out PageBlaster cause (we are running 4.4.1) and there is a major caching bug (FileIO Exceptions) in 4.4.1 and was hoping that PageBlaster would take over the caching and it would fix the problems that I am having.
Will DNN file caching still be running along with PageBlaster caching? | | | |
|
John Mitchell Posts:3248


| | 10/05/2007 11:48 AM |
| Yes, normally you would still have DNN caching on. By default PageBlaster only does caching on unauthenticated users, and you would still want caching for users that are logged in. PageBlaster will be delivering most of your pages from cache so it should still help.
There are other things that can be done to reduce or even eliminate the File I/O errors of DNN. Are you running in a web farm? Or do you you have your module caching set to Disk? If module caching is set to disk then I recommend making that setting to memory. If you are running in a web farm then I recommend switching to the broadcastpolling cache provider.
| | | |
|
wolverine10
 Posts:10

| | 10/05/2007 12:03 PM |
| Thanks for the explaination and Recommendations. No, not on a web farm. I did try and switch it to Memory and it seem to just continue with file IO errors and then it started to give "OutOfMemory" exceptions all over the place...We have 4gig of Ram on the server too. Any other suggestions...I was REALLY hoping that pageblaster was going to fix our caching issue | | | |
|
John Mitchell Posts:3248


| | 10/05/2007 12:07 PM |
| If you have access to the App Pool settings then check that you are not limiting the memory there.
If you can post one of the file I/O errors I may be able to help more.
I'm sure you'll notice an improvement using PageBlaster. | | | |
|
wolverine10
 Posts:10

| | 10/05/2007 12:15 PM |
| Yes I have full access to the server. The "Memory Recycling" area under the app pool properties...the Max VM is not checked and Max Used Memory is not checked Performance tab. THe only thing checked is the Limit the kernal request queue = 4000
Here is an exact error that happens all of the time throughout the day and build up until we finally get the "OutofMemory" exception and I have to do an IISRESET
Event code: 3005 Event message: An unhandled exception has occurred. Event time: 10/5/2007 1:01:22 PM Event time (UTC): 10/5/2007 5:01:22 PM Event ID: 26e28727f63e4320ba838f2e0071b719 Event sequence: 856 Event occurrence: 9 Event detail code: 0
Application information: Application domain: /LM/W3SVC/473705457/Root-2-128360682874062500 Trust level: Full Application Virtual Path: / Application Path: C:\websites\communiserver\website\ Machine name: 95195-APP1
Process information: Process ID: 2032 Process name: w3wp.exe Account name: NT AUTHORITY\NETWORK SERVICE
Exception information: Exception type: IOException Exception message: The process cannot access the file 'C:\websites\communiserver\website\Portals\_default\Cache\UG9ydGFsMjE=.resources' because it is being used by another process.
Request information: Request URL: http://mycatalyze.org/Default.aspx?TabId=964&sitagkw=business+analyst&sitaggrpid=1 Request path: /Default.aspx
Thread information: Thread ID: 41 Stack trace: at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options) at System.IO.StreamWriter.CreateFile(String path, Boolean append) at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize) at System.IO.StreamWriter..ctor(String path, Boolean append) at System.IO.File.CreateText(String path) at DotNetNuke.Services.Cache.FileBasedCachingProvider.FBCachingProvider.CreateCacheFile(String FileName) at DotNetNuke.Services.Cache.FileBasedCachingProvider.FBCachingProvider.Insert(String CacheKey, Object objObject, CacheDependency objDependency, DateTime AbsoluteExpiration, TimeSpan SlidingExpiration, Boolean PersistAppRestart) at DotNetNuke.Common.Utilities.DataCache.SetCache(String CacheKey, Object objObject, TimeSpan SlidingExpiration, Boolean PersistAppRestart) at DotNetNuke.Entities.Portals.PortalController.GetPortal(Int32 PortalId) at DotNetNuke.Entities.Portals.PortalSettings.GetPortalSettings(Int32 TabId, PortalAliasInfo objPortalAliasInfo) at DotNetNuke.Entities.Portals.PortalSettings..ctor(Int32 tabId, PortalAliasInfo objPortalAliasInfo) at DotNetNuke.HttpModules.UrlRewriteModule.OnBeginRequest(Object s, EventArgs e) at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Custom event details:
For more information, see Help and Support Center at
| | | |
|
wolverine10
 Posts:10

| | 10/05/2007 12:15 PM |
| | Thanks BTW for the help! | | | |
|
John Mitchell Posts:3248


| | 10/05/2007 4:42 PM |
| Those cache file in the portals/_default folder come from enabling Cache persistence in the web.config
I would recommend making that setting false, as their is no performance gain while running and PageBlaster persists the whole page to disk for restarts.
add key="EnableCachePersistence" value="False"
| | | |
|
wolverine10
 Posts:10

| | 10/08/2007 7:50 AM |
| Thanks! But actually that is already set to "false". Is it just not using it? I really need to fix those error...they are they bane of my existance :-) I am not scared of updating the framework, so if you know of somewhere in the code that I can comment that out and recompile that is ok also. Thanks! | | | |
|
wolverine10
 Posts:10

| | 10/08/2007 10:18 AM |
| Yeah, I just checked and I am still getting those "FileIO" exceptions, even with the add key="EnableCachePersistence" value="False" in the web.config file.
| | | |
|
John Mitchell Posts:3248


| | 10/08/2007 10:22 AM |
| Try deleting all of those cache files manually and see if they re-appear. I'll look in the code to see if I can determine why they are still being used.
Also check the App Pool settings again to make sure you are not setup as a Web Garden. There should only be one worker process assigned to the App Pool. | | | |
|
wolverine10
 Posts:10

| | 10/08/2007 10:30 AM |
| OK, deleting the files now, and right after I delete them the files start to reappear. So it is definitely still using the Persisant Cache option Yes, under "Performance" tab, Web Garden -> Max Number of worker process = 1. | | | |
|
wolverine10
 Posts:10

| | 10/08/2007 10:41 AM |
| DOH!!!! I think I found it!!! OK, all of what I said above is true...But when I went to look at the web.config file again to make sure that the "EnableCachePersistence" = false (which it did)...I noticed that, right above it, that "EnableWebFarmSupport" was set to "true"!!!!!!! I will have to check to see if that is the default for the 4.4.1 upgrade install and I just missed it. Cause I definitely didn't set that to true :-) After setting the EnableWebFarmSupport to false, now it seems that those files are NOT returning! So obviously the "EnableCachePersistence" key only makes a difference if "EnableWebFarmSupport" is false...otherwise if true it ignores the "EnableCachePersistence" value and just assumes true, I guess.
I knew there was something in the web.config file for the webfarm support, but I just assumed that it was defaulted to false and I guess I just never looked :-) Very sorry for wasting your time with this nonsense :-)
Man John! Thanks alot for helping me track that down!!!! That is HUGE! Again sorry for wasting your time on this.
On a side note...is there an "Enterprise" price for PageBlaster? | | | |
|
John Mitchell Posts:3248


| | 10/08/2007 10:50 AM |
| Ok, that makes sense. I should have had you check the EnableWebFarm setting explicitly instead of just asking if you were running in a web farm. You are correct. Those settings do kind of overlap.
Yes, there is an Enterprise price for PageBlaster. You can only get it here, but if you purchase 10 copies (which brings the unit cost to 19.90) then you can use it on unlimited websites and I will also send you the source if you want. | | | |
|
wolverine10
 Posts:10

| | 10/08/2007 10:55 AM |
| Thanks again! OK, we are still testing PB out so if all goes well that is probably when we will end up doing.
You mentioned in an earlier post that PB only caches the "unauthenticated users", but I am seeing that there are new folders in the cache folder per user and per tab. Which is it makes me think that it is caching for "logged in users". Is that correct? If so, that is GREAT! | | | |
|
John Mitchell Posts:3248


| | 10/08/2007 10:59 AM |
| | By default it only caches users that are not authenticated, but you can cache by role or by user if you set those attributes either in the Global config file or on the Page level with the module UI. | | | |
|