You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by Ahmed Musallam <at...@gmail.com> on 2016/11/08 21:49:12 UTC

Question about OAK performance

Hello Dev team,

I am working on an AEM project where we have a large number of child nodes that need to be created. I have a few questions around performance.

We are using AEM 6.1 which utilizes Oak 1.2.7.

A few questions:

1. I know that there is no “actual” limit to child nodes, but In  your experience, is there a limit to child nodes over which we will see performance impact? or instability of some sort? and what would be your recommended “virtual” number of child nodes?

2. Will read/writing one node which has, lets say 10,000 sibling be problematic for any reason?

3. I know that there are node types that have ordered vs unordered children. When does Oak actually order the child nodes? on read?

Thank you for your time,
Ahmed

Re: Question about OAK performance

Posted by Davide Giannella <da...@apache.org>.
On 08/11/2016 21:49, Ahmed Musallam wrote:
> Hello Dev team,

Hello, someone else may correct me but here's my take

>
> I am working on an AEM project where we have a large number of child nodes that need to be created. I have a few questions around performance.
>
> We are using AEM 6.1 which utilizes Oak 1.2.7.
>
> A few questions:
>
> 1. I know that there is no \u201cactual\u201d limit to child nodes, but In  your experience, is there a limit to child nodes over which we will see performance impact? or instability of some sort? and what would be your recommended \u201cvirtual\u201d number of child nodes?

Depending on the node type. For oak:Unstructured I don't recall any
limit off the top of my head. If you use an ordered node you may start
experiencing performance degradation from about the 1k siblings. On
write. But it really depends as well by the machine power and the
current load.

> 2. Will read/writing one node which has, lets say 10,000 sibling be problematic for any reason?

Writing of an ordered node, like nt:unstructured may be problematic. Not
reading.

> 3. I know that there are node types that have ordered vs unordered children. When does Oak actually order the child nodes? on read?

The order is persisted on write. When reading it simply reads a hidden
property.

My main concern is about maintenance of such bucket. Do you plan to
manually navigate, maintain something like 10000 siblings. Have you ever
tried browsing something way smaller (like 100) from the UI? Then, you
may actually hit limits way earlier from the UI. For example I would say
that a tree javascript UI may start having problems around the 200-500
siblings.

HTH
Davide