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 Himanshu Sawhney <hi...@gmail.com> on 2014/07/25 19:11:20 UTC

[performance] iterating over flat list of users node

We have a use case where we created 300 users under one root-node as
follows:


   1. Each user has 2 sub nodes with default acls (that particular user has
   jcr:all to user node)
   2. We have added an acl at root-node, to grant the read access to a one
   custom group(user-administrator) .



 We ran following test cases:


   1. The GET request for reading all the user and its 2 sub node using
   admin session return in 500 ms.
   2. The same GET request from a member of user-administrator group took
   12 secs.
      - If this user make same request again then it return in 500 ms.
   3. After some random request if this user again make the same call then
   it again takes 12 sec.



 The difference in 1st and 2nd request can be attributed to the ACL
bypassing for the admin user.



Since request-3 again took 12 sec, so there may be a case of acl cache
being getting override.

We have 2 questions here:


   1. Reading 300 users + 300*2 sub nodes taking 12 seconds seems too long
   even if ACL cache was empty
   2. Can we increase the ACL cache size.



Thanks

Himanshu

Re: [performance] iterating over flat list of users node

Posted by Himanshu Sawhney <hi...@gmail.com>.
Today I run the same scenario, but couldn't reproduce the issue.
I will try to isolate this further, and will reply with more data.

Thanks
Himanshu


On Mon, Jul 28, 2014 at 1:58 PM, Michael Dürig <md...@apache.org> wrote:

>
>
> On 28.7.14 9:56 , Vikas Saurabh wrote:
>
>> By Java API, I assume you mean doing a small JSP to time the iteration,
>> right?
>>
>
> Yes, using the JCR API directly and make sure you don't hit
> https://issues.apache.org/jira/browse/OAK-634.
>
> Michael
>
> Michael
>

Re: [performance] iterating over flat list of users node

Posted by Michael Dürig <md...@apache.org>.

On 28.7.14 9:56 , Vikas Saurabh wrote:
> By Java API, I assume you mean doing a small JSP to time the iteration,
> right?

Yes, using the JCR API directly and make sure you don't hit 
https://issues.apache.org/jira/browse/OAK-634.

Michael

Michael

Re: [performance] iterating over flat list of users node

Posted by Vikas Saurabh <vi...@gmail.com>.
> Where is that time being spent? Did you check some thread dumps?
Would sling console->profiler output be helpful here? We are a bit new to
debugging this issue, so a bit of pointers would be useful.

> Also as you mention GET requests, it might be worth trying the Java API
directly to rule out any network issues.

We were trying on a local setup (single CQ6 author instance
[crx3,crx3mongo] with single mongo instance on the same machine), so n/w
shouldn't be an issue... still we'd try it by Tuesday.

By Java API, I assume you mean doing a small JSP to time the iteration,
right?

Thanks,
Vikas

Re: [performance] iterating over flat list of users node

Posted by Michael Dürig <md...@apache.org>.

On 25.7.14 7:11 , Himanshu Sawhney wrote:
> 1. Reading 300 users + 300*2 sub nodes taking 12 seconds seems too long
>     even if ACL cache was empty

This should definitely not take so long. Where is that time being spent? 
Did you check some thread dumps? Also as you mention GET requests, it 
might be worth trying the Java API directly to rule out any network issues.

Michael