I have a pretty big problem with Umbraco at the moment. Whenever I try to save & publish content for a website, the function Content.PostSave() just runs forever without publishing anything. We have so far verified the following:
It only happens on the live server, local and test server are
unaffected.
It is not due to any web.config Sitemap tags.
I run version 7.2.2 which is unafected by the umbraco.config bug?
I am not running Windows Server 2012 R2
There are no relevant logs
It is not caused by server performance, other websites and the frontend of this website are unaffected.
Is there anything I can try to resolve this issues? We have a pretty important weekend coming up, so updating will really be a least resolve due to the chance something breaks.
check umbracoSettings.config to make sure distributedCalls is set to false.(ie from the days it used to be load balanced)
Also If you locate in the developer section of the site the Examine Management tab - you can view the contents of the index on the info & tools tab.
If you save and publish a new item, does it get added to these indexes ? (use the searchers to search the index for them from the Examine Management tab)
also does the new item get added to the app_Data/Umbraco.Config xml cache file ?
Turning the examine indexes off would just be a temporary thing, if they are built correctly at application start, then saving an item and adding to the examine index 'should only have a small affect on save time' unless there are any custom 'gathering nodes' events for manipulating the examine indexes on content save.
to turn off the examine event temporarily set:
enableDefaultEventHandler="false"
on the search provider configs, in /config/examinesettings.config
Where resides the Umbraco database ? is there a different version on test / production or is there a database server, if so is connectivity to database server same between test and between production.
Also new pages do get added to the indexes and xml correctly and I don't see any errors.
Weird thing is, currently the website is quite fast in comparision with other times. Seems like if there are more visitors, and editors busy that Umbraco crawls to a stop.
For some perspective, here is a graph of me adding, modifiying and deleting a test page, and saving and publishing exsisting pages during the same time frame where you can again see that Content.PostSave() takes up a lot of resources.
Want to bump this thread as I still have not found a solution. We made a shadow copy of the live website on our local server, and verified that the copy has the exact same performance problems.
Currently I am checking if the complexity of the Umbraco.config file might be the issue, as it seems Umbraco has problems generating that file.
I would very much like some input, as it might help prevent the issue in the future or might even expose an issue in Umbraco as a whole.
Whenever I Publish an item, its HTML gets compared to some old HTML file(s). I have no idea what files these are, as it is definitely NOT the last version before the edit. As a test I edited the alternative pagetitle field of one of my pages which generated an HTML file of 405 characters length. This file gets compared to a file of over 300k characters!!! According to the profiler the code is slow in the method sms.
Below are some screenshots of the different files and information about the issue:
The page I edited:
The profiler (note: we canceled the process after the listed time manually, publishing most of the time takes ~5 minutes):
The method that calls the ForEach method:
The sms method:
So the question now is, what is the file compared with???? I only changed it's alternative page title and not any other content.
Edit: I just looked through the entire history of the page, it seems like, for whatever weird reason, Umbraco compares the saved page with ALL it's history items???!?!
Just wanted to bump this slightly as we have found the problem. For some reason whenever a file content node is saved, it is compared to ALL old version that Umbraco saves by default, which for us was ~50 per file. As the client has pretty complex pages, and generally edits them in bulk (multiple editors), it caused severe performance issues due to the compare.
As a suggestion, I would see if the dev team can provide us with an out-of-the-box solution for this, as being able to configure these kinds of options should, in my opinion, be something belonging to the core of a Content Managing System.
Just reading your post as I'm looking at large scale update of nodes. You mentioned "whenever a file content node is saved, it is compared to ALL old version that Umbraco saves by default" Is that what Umbraco does out of the box or was that something custom your site did?
Umbraco 7.2.2 - Content.PostSave() extremely slow
Hey guys,
I have a pretty big problem with Umbraco at the moment. Whenever I try to save & publish content for a website, the function Content.PostSave() just runs forever without publishing anything. We have so far verified the following:
Is there anything I can try to resolve this issues? We have a pretty important weekend coming up, so updating will really be a least resolve due to the chance something breaks.
Hi Dave
Hmm, what is the difference between the production and test server ?
Are you load balancing ? and if so are distributedCall's turned on ??
Do examine indexes build correctly (perhaps temporarily try turning them off, to see if this effects the save time)
Guessing you'd be aware of any custom code hooking into the save event ?
Using any plugins that write to disc etc (eg uSync Content Edition) ?
As far as software goes they are the exact same. As for hardware the production server has 4 more gigs ram and a better cpu.
No we are not load balancing, however, the site used to run in a load balanced environment.
How can I check if they build correctly? And how do I turn off them off?
Yeah, there are none. There used to be a media handler, but that one is not used anymore.
Only Umbraco contour and Imagegen are installed.
check umbracoSettings.config to make sure distributedCalls is set to false.(ie from the days it used to be load balanced)
Also If you locate in the developer section of the site the Examine Management tab - you can view the contents of the index on the info & tools tab.
If you save and publish a new item, does it get added to these indexes ? (use the searchers to search the index for them from the Examine Management tab)
also does the new item get added to the app_Data/Umbraco.Config xml cache file ?
Turning the examine indexes off would just be a temporary thing, if they are built correctly at application start, then saving an item and adding to the examine index 'should only have a small affect on save time' unless there are any custom 'gathering nodes' events for manipulating the examine indexes on content save.
to turn off the examine event temporarily set:
enableDefaultEventHandler="false" on the search provider configs, in /config/examinesettings.config
Where resides the Umbraco database ? is there a different version on test / production or is there a database server, if so is connectivity to database server same between test and between production.
umbracoSettings are correct.
Also new pages do get added to the indexes and xml correctly and I don't see any errors.
Weird thing is, currently the website is quite fast in comparision with other times. Seems like if there are more visitors, and editors busy that Umbraco crawls to a stop.
For some perspective, here is a graph of me adding, modifiying and deleting a test page, and saving and publishing exsisting pages during the same time frame where you can again see that Content.PostSave() takes up a lot of resources.
Want to bump this thread as I still have not found a solution. We made a shadow copy of the live website on our local server, and verified that the copy has the exact same performance problems.
Currently I am checking if the complexity of the Umbraco.config file might be the issue, as it seems Umbraco has problems generating that file.
I would very much like some input, as it might help prevent the issue in the future or might even expose an issue in Umbraco as a whole.
Okay I seem to have found the issue.
Whenever I Publish an item, its HTML gets compared to some old HTML file(s). I have no idea what files these are, as it is definitely NOT the last version before the edit. As a test I edited the alternative pagetitle field of one of my pages which generated an HTML file of 405 characters length. This file gets compared to a file of over 300k characters!!! According to the profiler the code is slow in the method sms.
Below are some screenshots of the different files and information about the issue:
The page I edited:
The profiler (note: we canceled the process after the listed time manually, publishing most of the time takes ~5 minutes):
The method that calls the ForEach method:
The sms method:
So the question now is, what is the file compared with???? I only changed it's alternative page title and not any other content.
Edit: I just looked through the entire history of the page, it seems like, for whatever weird reason, Umbraco compares the saved page with ALL it's history items???!?!
Hi Dave,
May i ask you which profiler do you use? I have almost the same problem.
Just wanted to bump this slightly as we have found the problem. For some reason whenever a file content node is saved, it is compared to ALL old version that Umbraco saves by default, which for us was ~50 per file. As the client has pretty complex pages, and generally edits them in bulk (multiple editors), it caused severe performance issues due to the compare.
We now have installed the package unversion and used that to limit the saved old versions to a maximum of 5, which removed the performance issues completely. https://our.umbraco.org/projects/website-utilities/unversion
As a suggestion, I would see if the dev team can provide us with an out-of-the-box solution for this, as being able to configure these kinds of options should, in my opinion, be something belonging to the core of a Content Managing System.
Hi Dave,
Just reading your post as I'm looking at large scale update of nodes. You mentioned "whenever a file content node is saved, it is compared to ALL old version that Umbraco saves by default" Is that what Umbraco does out of the box or was that something custom your site did?
Thanks
Ben
is working on a reply...