I just upgraded from DNN 8 to 9.4.1.
After upgrading DNN, the memory usage of w3wp process is increasing continously and never stopping. At one point it reached 3 GB before I had to recycle the app pool to avoid using all the servers memory. Usually it's around 600 MB and stable. The site has about 20k session per day.
There's no 3rd party modules on the site - only custom made modules. Non of those modules was change when upgrading to DNN 9.4.1.
I have tried to debug by disabling custom modules but it does not change anything, but the speed of which the memory usage increases.
When analyzing a memory dump of the IIS w3wp process (using dotMemory from Jetbrains and DebugDiag from MS) I see the the garbage collector heap usage is massive: 1.3 GB out of a 1.8 GB memory dump.
I know that it's like finding a needle in a haystack but does anybody have an idea what to look for? I'm quite sure that the problem is a memory leak within the custom modules. But given that nothing else changed besides DNN, it could be something that worked ok in DNN8 but not in DNN9?
There are no compiler warnings, no use of the deprecated API's from DNN 8 to 9.4 (I think). But the modules does use "System.Runtime.Caching.MemoryCache" quite a lot. Could that be a problem in DNN9?
All theories are welcome and appreciated.
Maybe this is related to the dependency injection updates of DNN 9.4?
dotMemory (Jetbrains) is listing Microsoft.Extensions.DependencyInjection.ServiceProvider at the top list.
See screenshot:
https://ibb.co/vjK5rsc
2019-10-17 23:59:39,890 [Servername][Thread:122][FATAL] DotNetNuke.Web.Common.Internal.DotNetNukeHttpApplication - System.Web.HttpException (0x80004005): Path not found at ClientDependency.Core.CompositeFiles.CompositeDependencyHandler.ProcessRequestInternal(HttpContextBase context, String fileset, ClientDependencyType type, Int32 version, Byte[] outputBytes, OutputCachedPage page) at ClientDependency.Core.CompositeFiles.CompositeDependencyHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
< dnn:DnnCssInclude runat="server" FilePath="~/resources/shared/stylesheets/dnndefault/8.0.0/default.css" Priority="1" Name="dnndefault" Version="8.0.0" / >
These Forums are dedicated to the discussion of DNN Platform.
For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:
Awesome! Simply post in the forums using the link below and we'll get you started.