You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-user@jakarta.apache.org by David St-Onge <da...@ixos.de> on 2004/01/22 11:24:23 UTC

PUT performance reduction with increasing size of target folder

Hi!

I'm using Slide (CVS version Nov. 4, 2003) with a JDBC descriptors store.

The problem that I have is that the performance reduces drastically as my
Java test client PUTs files in a given folder. For example, PUTting the
1000th file already takes about 10 times longer than the 1st one.

When I trace the code, I see that for every PUT operation, Slide does the
following:

(new child = file to PUT; parent = target folder)

1- Reads all children URLs from the 'children' table and stores them in some
collection.
	(select * from children where uri=<parent>)

2- Adds the new child to the collection.

3- Removes all children of the current parent from the table.
	(delete from children where uri=<parent>)

4- Write all children of the current parent in the table (time
consuming!!!).
	while (children.hasMoreElements()) {
		"insert into children values(<parent>, <child>)");
	}

(1) happens in DescriptorsStore.retrieveObject(Uri)
(2) happens outside of the store
(3) and (4) happen in DescriptorsStore.storeObject(Uri, ObjectNode)
Note: A DELETE operation works the same way, except for (2).

Is anybody aware of this performance problem?
Is there some known solution (configuration, code update, ...)?

Thank you for your help!

Regards,
David St-Onge