Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Dave de Moel 122 posts 574 karma points c-trib
    Sep 02, 2015 @ 09:23
    Dave de Moel
    0

    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:

    1. It only happens on the live server, local and test server are unaffected.
    2. It is not due to any web.config Sitemap tags.
    3. I run version 7.2.2 which is unafected by the umbraco.config bug?
    4. I am not running Windows Server 2012 R2
    5. There are no relevant logs
    6. 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. enter image description here

  • Marc Goodson 2126 posts 14218 karma points MVP 8x c-trib
    Sep 02, 2015 @ 16:52
    Marc Goodson
    0

    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) ?

  • Dave de Moel 122 posts 574 karma points c-trib
    Sep 02, 2015 @ 17:24
    Dave de Moel
    0

    Hmm, what is the difference between the production and test server ?

    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.

    Are you load balancing ? and if so are distributedCall's turned on ??

    No we are not load balancing, however, the site used to run in a load balanced environment.

    Do examine indexes build correctly (perhaps temporarily try turning them off, to see if this effects the save time)

    How can I check if they build correctly? And how do I turn off them off?

    Guessing you'd be aware of any custom code hooking into the save event ?

    Yeah, there are none. There used to be a media handler, but that one is not used anymore.

    Using any plugins that write to disc etc (eg uSync Content Edition) ?

    Only Umbraco contour and Imagegen are installed.

  • Marc Goodson 2126 posts 14218 karma points MVP 8x c-trib
    Sep 02, 2015 @ 19:44
    Marc Goodson
    0

    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.

  • Dave de Moel 122 posts 574 karma points c-trib
    Sep 03, 2015 @ 07:22
    Dave de Moel
    0

    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.

    enter image description here

  • Dave de Moel 122 posts 574 karma points c-trib
    Sep 15, 2015 @ 09:25
    Dave de Moel
    0

    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.

  • Dave de Moel 122 posts 574 karma points c-trib
    Sep 16, 2015 @ 08:26
    Dave de Moel
    0

    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 page I edited

    The profiler (note: we canceled the process after the listed time manually, publishing most of the time takes ~5 minutes): The profiler

    The method that calls the ForEach method: The method that calls the ForEach method

    The sms 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???!?!

  • progproger 52 posts 130 karma points
    Sep 13, 2017 @ 14:48
    progproger
    0

    Hi Dave,

    May i ask you which profiler do you use? I have almost the same problem.

  • Dave de Moel 122 posts 574 karma points c-trib
    Oct 29, 2015 @ 09:19
    Dave de Moel
    100

    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.

  • Ben McKean 272 posts 549 karma points
    Jan 27, 2016 @ 11:07
    Ben McKean
    0

    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

Please Sign in or register to post replies

Write your reply to:

Draft