Draft for 5.3
Ideas for improving the publishing experience for big sites by increasing activation speed of big trees.
- Activation of piece of content takes anywhere between .5 to 3 seconds depending on the size of the content.
- When activating "including subpages" all the pages are processed sequentially.
- This page is not concerned with activation to multiple public instances which was already parallelized.
- increase the speed of activation for big trees (or potentially for sets of content should we ever support such)
Since recent improvements in activation MAGNOLIA-2427@jira,MGNLXAA-17@jira the main chunk of the time during activation is consumed by http authentication and data transfer. Also since fixing MAGNOLIA-2489@jira it is safe to publish multiple pieces of content in parallel even if they belong to same parent. That being said, it should be possible to parallelize activation to single subscriber by sending multiple pieces of content by different threads in parallel. Manual tests shows that when running up to 3 activations in parallel, the speed gain is nearly 100% (i.e. total time goes down to 50% for 2 parallel activations and to 34% in case of 3 parallel activations in comparison to running everything sequentially).
The things to consider are:
- how many execution threads (if too many, the performance of public instance could be affected during publishing)
- we should perhaps compute distribution graph before starting activation and activate deepest paths and those with most children at same level first, to gain maximum speed.