We have deployed a fairly standard (our first) umbraco (4.7.1) onto a cloud server with other sites (non umbraco) and are experiencing some major issues. When the site is on (app pool and iis) it is causing the entire server to slow to a grinding halt!!
The Memory (Private working set) usage is around 300KB - CPU seems to be okay.
I'd love a reply for the same issue. We're about to launch our Umbraco 6.0 site (just upgraded from 4.11.4 a few days ago with no issues). But our IT guy noticed the w3wp process sitting between 50-90% CPU usage constantly for that application pool identity, and memory usage hovering around 200-300mb, and that's with only 1 user (me) hitting the site occasionally.
Thought it was Examine (search engine) because it was logging "index optimizing" messages every few seconds, but disabled it and still the same usage/memory issues.
Our site isn't very Razor heavy (simple breadcrumb/menu macros), but does have about 11,000 media items and maybe 8,000 nodes.
By contrast, our non-Umbraco sites stay around 1-3% CPU usage and maybe 20mb RAM.
We'll schedule the app pool to recycle each night, but that seems beside the point, and we're nervous to push ahead.
we've noticed the same with some of our latest Umbraco installs. It eats up CPU and uses as much memory as it can get. I've asked Niels Hartvig about this on Twitter and he advised to put a maximum amount of memory on your app pool. This recycles memory as soon as Umbraco gets to the maximum, but I'm getting convinced that something is wrong and there is a memory leak somewhere.
I'm thinking that the high memory usage is somehow related to the number of Media Items in the library, because the real problems are with sites that have hundreds of media items.
We also get the high CPU usage when the app pool recycles, because it seems to restart Ubraco or make Umbraco cache quite a lot all over again.
So yes, I think something is wrong, and we're noticing the same. So far, no real solution. I have found out though that there is a setting called "UmbracoLibraryCacheDuration" which is by default set to 1800 seconds, which means that your media items are cached for half an hour. And if you really have a lot of media items, that could explain the memory issues. We've put this value from 1800 to 10 seconds without noticing any real difference in performance, while seeing a drastic drop in memory usage.
Could you perhaps try the same and see if it helps for you too? That way we can get down to the bottom of this issue.
Wish we didn't have so many media items, but our gov't organization makes PDFs of most everything we produce, which are tied to web postings.
I'll experiment with the UmbracoLibraryCacheDuration value and see if it works well. We hadn't set the app pool to recycle at a memory limit for concern it would recycle during business hours and potentially disrupt existing sessions, hence the 2am recycle time. But I don't know how recycling works so if it doesn't kill ongoing web sessions, we'll try the memory-limit approach.
We're in a tricky spot, not knowing whether to "press the button" this week to activate the Umbraco site, because don't know how these performance/memory issues will play out live, and impossible to get enough test traffic to a staging site to fully vet.
I understand your concerns about this, as we have about the same. But just for your information, in IIS 7, a recycle doesn't mean your uses loses his session (i.e. he shouldn't automatically be logged off), but he does notice that the new request he makes takes longer than usual. It's comparable to the feeling you get when a .NET website is starting up for the first user. It takes a bit longer as usual.
But this shouldn't be the solution: to just set IIS to reycle when everything gets too big. Umbraco should have a relatively small footprint by itself and this is where it seems to go wrong right now. I hope this gets fixed asap.
I have a site in Umbraco 4.7.1.1. with 15.000 nodes and a 10 MB umbraco.config I have a lot of images that use ImageGen I am using a VPS with 1.5 GB memory.
Since some weeks ago (having more nodes), sometimes during 2-3 hours the w3wp.exe process uses 100% of CPU. I can see that the memory it uses moves peacefully from 170K to 250K and down again quickly and the again up to 250K. All the time with cpu 90-100%.
It seems like umbraco is trying to cache something in memory and when reaches the limit takes part of it out, and tries again.
I have changed UmbracoLibraryCacheDuration to 10 and no good results.
I am wondering what is umbraco doing during that CPU consuming time.. and how to avoid it. During this process it is impossible to access the pages.
At the same time some strange errors are logged. It looks like there is some relation with MEDIA nodes.
My plan is to move to 100.000 nodes but I'm starting to believeit will not be possible... :-(
Any idea would be very appreciated.
This is the logged error:
Server stack trace: at umbraco.library.GetMedia(Int32 MediaId, Boolean Deep) at umbraco.MacroEngines.ExamineBackedMedia.GetChildrenMedia(Int32 ParentId) at umbraco.MacroEngines.ExamineBackedMedia.b__9() at System.Lazy`1.CreateValue()
Exception rethrown at [0]: at umbraco.library.GetMedia(Int32 MediaId, Boolean Deep) at umbraco.MacroEngines.ExamineBackedMedia.GetChildrenMedia(Int32 ParentId) at umbraco.MacroEngines.ExamineBackedMedia.b__9() at System.Lazy`1.CreateValue() at System.Lazy`1.LazyInitValue() at System.Lazy`1.get_Value() at umbraco.MacroEngines.DynamicBackingItem.get_ChildrenAsList() at umbraco.MacroEngines.DynamicNode.b__49(DynamicBackingItem n) at umbraco.MacroEngines.ExtensionMethods.Map[TSource](IEnumerable`1 source, Func`2 selectorFunction, Func`2 getChildrenFunction) at umbraco.MacroEngines.ExtensionMethods.Map[TSource](IEnumerable`1 source, Func`2 selectorFunction, Func`2 getChildrenFunction) at umbraco.MacroEngines.DynamicNode.Descendants(Func`2 func) at umbraco.MacroEngines.DynamicNode.Descendants() at ASP._Page_macroScripts_ProductLine_cshtml.Execute() in c:\HostingSpaces\senderix\senderismoytrekking.com\wwwroot\macroScripts\ProductLine.cshtml:line 109 URL=http://www.senderismoytrekking.com/destino/granada 29 12:53:08 ERROR - LogType: Error user: admin NodeId: 13376 Comment: PRODUCTLINE Thread was being aborted. Server stack trace: at umbraco.library.GetMedia(Int32 MediaId, Boolean Deep) at umbraco.MacroEngines.ExamineBackedMedia.GetChildrenMedia(Int32 ParentId) at umbraco.MacroEngines.ExamineBackedMedia.b__9() at System.Lazy`1.CreateValue()
Exception rethrown at [0]: at umbraco.library.GetMedia(Int32 MediaId, Boolean Deep) at umbraco.MacroEngines.ExamineBackedMedia.GetChildrenMedia(Int32 ParentId) at umbraco.MacroEngines.ExamineBackedMedia.b__9() at System.Lazy`1.CreateValue() at System.Lazy`1.LazyInitValue() at System.Lazy`1.get_Value() at umbraco.MacroEngines.DynamicBackingItem.get_ChildrenAsList() at umbraco.MacroEngines.DynamicNode.b__49(DynamicBackingItem n) at umbraco.MacroEngines.ExtensionMethods.Map[TSource](IEnumerable`1 source, Func`2 selectorFunction, Func`2 getChildrenFunction) at umbraco.MacroEngines.ExtensionMethods.Map[TSource](IEnumerable`1 source, Func`2 selectorFunction, Func`2 getChildrenFunction) at umbraco.MacroEngines.DynamicNode.Descendants(Func`2 func) at umbraco.MacroEngines.DynamicNode.Descendants() at ASP._Page_macroScripts_ProductLine_cshtml.Execute() in c:\HostingSpaces\senderix\senderismoytrekking.com\wwwroot\macroScripts\ProductLine.cshtml:line 109 URL=http://www.senderismoytrekking.com/destinos/espana
My educated guess, changing that setting did nothing to solve your problem. It just caused the app pool to restart, bringing the utilization down until it runs back up again. Sounds like a bad process running.
Help! CPU and Memory issues
Hi All-
We have deployed a fairly standard (our first) umbraco (4.7.1) onto a cloud server with other sites (non umbraco) and are experiencing some major issues. When the site is on (app pool and iis) it is causing the entire server to slow to a grinding halt!!
The Memory (Private working set) usage is around 300KB - CPU seems to be okay.
Has anyone got any ideas what this could be?
Thanks
Kenny
Kenny,
Is the umbraco site in its own app poo? If not then put it in its own app pool.
Regards
Ismail
Hi Ismail,
Thanks for the reply.
Yes we have all of our sites in their own app pool. Its a strange one!
Kenny
Kenny, did you resolve this?
I'd love a reply for the same issue. We're about to launch our Umbraco 6.0 site (just upgraded from 4.11.4 a few days ago with no issues). But our IT guy noticed the w3wp process sitting between 50-90% CPU usage constantly for that application pool identity, and memory usage hovering around 200-300mb, and that's with only 1 user (me) hitting the site occasionally.
Thought it was Examine (search engine) because it was logging "index optimizing" messages every few seconds, but disabled it and still the same usage/memory issues.
Our site isn't very Razor heavy (simple breadcrumb/menu macros), but does have about 11,000 media items and maybe 8,000 nodes.
By contrast, our non-Umbraco sites stay around 1-3% CPU usage and maybe 20mb RAM.
We'll schedule the app pool to recycle each night, but that seems beside the point, and we're nervous to push ahead.
Hey,
we've noticed the same with some of our latest Umbraco installs. It eats up CPU and uses as much memory as it can get. I've asked Niels Hartvig about this on Twitter and he advised to put a maximum amount of memory on your app pool. This recycles memory as soon as Umbraco gets to the maximum, but I'm getting convinced that something is wrong and there is a memory leak somewhere.
I'm thinking that the high memory usage is somehow related to the number of Media Items in the library, because the real problems are with sites that have hundreds of media items.
We also get the high CPU usage when the app pool recycles, because it seems to restart Ubraco or make Umbraco cache quite a lot all over again.
So yes, I think something is wrong, and we're noticing the same. So far, no real solution. I have found out though that there is a setting called "UmbracoLibraryCacheDuration" which is by default set to 1800 seconds, which means that your media items are cached for half an hour. And if you really have a lot of media items, that could explain the memory issues. We've put this value from 1800 to 10 seconds without noticing any real difference in performance, while seeing a drastic drop in memory usage.
Could you perhaps try the same and see if it helps for you too? That way we can get down to the bottom of this issue.
Wish we didn't have so many media items, but our gov't organization makes PDFs of most everything we produce, which are tied to web postings.
I'll experiment with the UmbracoLibraryCacheDuration value and see if it works well. We hadn't set the app pool to recycle at a memory limit for concern it would recycle during business hours and potentially disrupt existing sessions, hence the 2am recycle time. But I don't know how recycling works so if it doesn't kill ongoing web sessions, we'll try the memory-limit approach.
We're in a tricky spot, not knowing whether to "press the button" this week to activate the Umbraco site, because don't know how these performance/memory issues will play out live, and impossible to get enough test traffic to a staging site to fully vet.
I understand your concerns about this, as we have about the same. But just for your information, in IIS 7, a recycle doesn't mean your uses loses his session (i.e. he shouldn't automatically be logged off), but he does notice that the new request he makes takes longer than usual. It's comparable to the feeling you get when a .NET website is starting up for the first user. It takes a bit longer as usual.
But this shouldn't be the solution: to just set IIS to reycle when everything gets too big. Umbraco should have a relatively small footprint by itself and this is where it seems to go wrong right now. I hope this gets fixed asap.
Hello friends
I have a site in Umbraco 4.7.1.1. with 15.000 nodes and a 10 MB umbraco.config
I have a lot of images that use ImageGen
I am using a VPS with 1.5 GB memory.
Since some weeks ago (having more nodes), sometimes during 2-3 hours the w3wp.exe process uses 100% of CPU. I can see that the memory it uses moves peacefully from 170K to 250K and down again quickly and the again up to 250K. All the time with cpu 90-100%.
It seems like umbraco is trying to cache something in memory and when reaches the limit takes part of it out, and tries again.
I have changed UmbracoLibraryCacheDuration to 10 and no good results.
I am wondering what is umbraco doing during that CPU consuming time.. and how to avoid it. During this process it is impossible to access the pages.
At the same time some strange errors are logged. It looks like there is some relation with MEDIA nodes.
My plan is to move to 100.000 nodes but I'm starting to believeit will not be possible... :-(
Any idea would be very appreciated.
This is the logged error:
Server stack trace:
at umbraco.library.GetMedia(Int32 MediaId, Boolean Deep)
at umbraco.MacroEngines.ExamineBackedMedia.GetChildrenMedia(Int32 ParentId)
at umbraco.MacroEngines.ExamineBackedMedia.b__9()
at System.Lazy`1.CreateValue()
Exception rethrown at [0]:
at umbraco.library.GetMedia(Int32 MediaId, Boolean Deep)
at umbraco.MacroEngines.ExamineBackedMedia.GetChildrenMedia(Int32 ParentId)
at umbraco.MacroEngines.ExamineBackedMedia.b__9()
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at System.Lazy`1.get_Value()
at umbraco.MacroEngines.DynamicBackingItem.get_ChildrenAsList()
at umbraco.MacroEngines.DynamicNode.b__49(DynamicBackingItem n)
at umbraco.MacroEngines.ExtensionMethods.Map[TSource](IEnumerable`1 source, Func`2 selectorFunction, Func`2 getChildrenFunction)
at umbraco.MacroEngines.ExtensionMethods.Map[TSource](IEnumerable`1 source, Func`2 selectorFunction, Func`2 getChildrenFunction)
at umbraco.MacroEngines.DynamicNode.Descendants(Func`2 func)
at umbraco.MacroEngines.DynamicNode.Descendants()
at ASP._Page_macroScripts_ProductLine_cshtml.Execute() in c:\HostingSpaces\senderix\senderismoytrekking.com\wwwroot\macroScripts\ProductLine.cshtml:line 109 URL=http://www.senderismoytrekking.com/destino/granada
29 12:53:08 ERROR - LogType: Error user: admin NodeId: 13376 Comment: PRODUCTLINE Thread was being aborted.
Server stack trace:
at umbraco.library.GetMedia(Int32 MediaId, Boolean Deep)
at umbraco.MacroEngines.ExamineBackedMedia.GetChildrenMedia(Int32 ParentId)
at umbraco.MacroEngines.ExamineBackedMedia.b__9()
at System.Lazy`1.CreateValue()
Exception rethrown at [0]:
at umbraco.library.GetMedia(Int32 MediaId, Boolean Deep)
at umbraco.MacroEngines.ExamineBackedMedia.GetChildrenMedia(Int32 ParentId)
at umbraco.MacroEngines.ExamineBackedMedia.b__9()
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at System.Lazy`1.get_Value()
at umbraco.MacroEngines.DynamicBackingItem.get_ChildrenAsList()
at umbraco.MacroEngines.DynamicNode.b__49(DynamicBackingItem n)
at umbraco.MacroEngines.ExtensionMethods.Map[TSource](IEnumerable`1 source, Func`2 selectorFunction, Func`2 getChildrenFunction)
at umbraco.MacroEngines.ExtensionMethods.Map[TSource](IEnumerable`1 source, Func`2 selectorFunction, Func`2 getChildrenFunction)
at umbraco.MacroEngines.DynamicNode.Descendants(Func`2 func)
at umbraco.MacroEngines.DynamicNode.Descendants()
at ASP._Page_macroScripts_ProductLine_cshtml.Execute() in c:\HostingSpaces\senderix\senderismoytrekking.com\wwwroot\macroScripts\ProductLine.cshtml:line 109 URL=http://www.senderismoytrekking.com/destinos/espana
Our production server has Umbraco 4.7.1 and has very high CPU usage.
On my local machine, my w3wp (umbraco) process was using around 300 meg.
I was able to get it down to 100 meg by going into the App Pool and changing the "Enable 32-Bit Applications" setting to True.
I'm not sure if getting the Ram down will reduce the CPU load on the server, but it's worth a try.
Any other ideas?
Jack
My educated guess, changing that setting did nothing to solve your problem. It just caused the app pool to restart, bringing the utilization down until it runs back up again. Sounds like a bad process running.
is working on a reply...