Copied to clipboard

Flag this post as spam?

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


  • Tran Dang Khoa 2 posts 74 karma points
    Feb 03, 2016 @ 09:26
    Tran Dang Khoa
    0

    Bulk publishing blocks other publishing threads

    Hi all,

    I am running a project using Umbraco 7.3.1. We're facing to a problem of back end performance. The symptom is: whenever an admin user does the bulk publishing for a parent node which contains many children below (around 100 - 200 children), other admin users seems blocked and cannot do any postSave or publish on any other nodes.

    I trace out all of requests which makes postSave for publishing on the other node (certainly, these node are not in the current parent node which was published). These requests are hang - even timeout, until the first bulk publishing thread finished

    The bulk publishing for a parent node which contains 100 children nodes may take around 7 - 10 mins. Our current XML file is about 107 MB.

    Our site is running on IIS 8.5 - Windows Server 2012. The deployment model as below:

    1 back end server => using for admin users to manage content. To optimize the performance of the back end, I have disabled XMLCache and XML update in the back end. However, even I turn it on - the issue still happens.

    2 Front End web servers which running behind a ELB using AWS infrastructure.

    I have traced on the server performance at the time when this blocking issue happen and still see RAM/CPU in the normal status. Nothing is special.

    Then, I dump the whole database of production to debug in my local computer, the same issue still happens. I don't think this issue causes by the infrastructure. Also, I have checked the source code of Umbraco in the BulkPublishingController: https://github.com/umbraco/Umbraco-CMS/blob/release-7.3.1/src/Umbraco.Web/WebServices/BulkPublishController.cs

    However, I don't see any special concerns. The main concern for me with the current Umbraco code is: if the number of children is too many (as in my case), then this POST request will run very slowly. Instead of that, I would like to recommend to throw a separated thread to process the bulk publishing and return an user friendly message to notify the user that Bulk publishing is running. Then, you have another ajax call periodically to check whether that task completed to notify the end user with the final success/error message.

    Anyway, I still cannot find the root cause that may cause the problem of blocking publishing. Is there anyone facing the same issue like me?

Please Sign in or register to post replies

Write your reply to:

Draft