François,

I spent some time on improving performance lately. See https://issues.apache.org/jira/browse/JCR-2497 and related issues.

I was able to improve performance for our use case with these fixes. Getting the parameters right (i.e. item cache size, item info cache size and batch read depth) is still quite tricky though and requires careful profiling.

I can provide more specific information on these parameters if required.

Michael




François Cassistat wrote:
Ok, I've studied a little what was going on with a packet analyzer.

As I expected, jcr2spi does request for each node, but I did not expect it to 
do 3 requests for each node of my iterator (one request to get the node, and 
two for asking some UUID properties (for files ?)).

We need to pass in each node and consult three or four properties to render in 
a table. In my product, we can't afford waiting 17 seconds fetching information 
about 56 nodes (or 5 minutes for 1500 nodes). Is there any way to configure 
spi2davex to get all the query result in one big HTTP request?


Thanks,


François



Le 2010-02-26 à 5:12 PM, François Cassistat a écrit :

Hello list,

I am using jcr2spi on top spi2davex, with JackRabbit 2.0 on a remote server.

I've made a query to the server, it takes :
- 900ms to connect (this is acceptable)
- 500ms to do a XPath query on ~25K nodes with a "order by" close (this is good)
- 1000ms to get the node iterator for the result (this is ok)

And then, between 240ms and 310ms to get each node. Are this normal 
performances? At all, it took 16 seconds to load 56 node result. This is 
unacceptable in my project.

I assume that jcr2spi makes one HTTP query to every NodeIterator.getNode() 
call. Considered that I ping the server with ~70ms delay for large packets, are 
theses delays normal?

I don't know much about spi2davex details, but is there anyway to load all 
these nodes (and subnodes?) in one big HTTP request?


Thank you,


François




Reply via email to