On 6 Mar 2010, at 11:41, Ian Boston wrote: > Hi, > I am seeing slow performance in Sling based on Jackrabbit 1.6. (not quite > Sling trunk Head) > The slow performance has been tracked down to the IndexNodeResolver user by > the UserManagerImpl. > We have 10K + users, and may need to cope with upto 4M > The problem hits worst when the user does not exist in the space managed by > UserManagerImpl. > > Question: > Do the changes made in JR2 under [1][2] remove the structure whereby users > were nested and hence eliminate the need to perform expensive queries ?
To answer my own question, yes, completely eliminates the expensive queries. Tested upto 100K users with no perceivable drop in performance or impact on memory. Average performance for the create user operation in Jackrabbit 2 is about 5x that of Jackrabbit 1.6 at 10K users. More details at [1] Kudos to Angela (I think) for a great improvement. Thank you Ian 1 http://blog.tfd.co.uk/2010/03/07/jackrabbit2-user-manager-scaling/ > > I have looked at the code, but its not clear to me if the the various find* > operations are as fast as direct node lookup (eg > session.exists(calculatedUserNodePath)), or even if thats a viable > alternative. > > Thanks > Ian > > > > > 1 https://issues.apache.org/jira/browse/JCR-2199
