jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nelson Takashi Omori <nelson.om...@murah.com.br>
Subject Slow performance
Date Wed, 29 Jul 2009 16:57:46 GMT

I've been using Jackrabbit for over a year and my system has now 
millions of nodes and the performance is bad.

I've read the wiki page and I'm following the instructions of  
- added the parameter <param name="respectDocumentOrder" value="false"/>
- My nodes doesn't have more than 4000 childs
- I'm not using xpath like '/jcr:root/a/b/c', my xpath is like 
'//element(*, myNodeType)[(jcr:contains(@aProperty, 'value1 OR value2 OR 
... OR valueN')]'

I'm also using Jackrabbit's specific functions of QueryImpl:

The query.execute() is taking 1500 miliseconds.
I'm using RowIterator and rowIterator.nextRow() is taking 200 
miliseconds each.
I need to access some informations that are stored in the children and 
to get them is taking  200 miliseconds.
So, to get 20 results from the search, it's taking 1500 + 20*(200 + 200) 
=  9500 miliseconds.

the session.getNodeByUUID, wich is supposed to be fast, is taking 200 
miliseconds too.

For now, I'm not worried about the query.execute time, I'd be happy if I 
could solve the two 200 miliseconds that is taking for each node.

I think that slow session.getNodeByUUID is the cause of the problem of 
rowIterator.nextRow and the time to get the children.

I'm using Jackrabbit version 1.4.6, but I tried to update to 1.5 and the 
performance wasn't improved so much.

In my structure, the majority of nodes are versionable. Can it be the 
cause of the bad performance?


Nelson Takashi Omori
Murah Technologies

View raw message