jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eugeny N Dzhurinsky <b...@redwerk.com>
Subject Re: performance question
Date Thu, 29 Nov 2007 07:44:06 GMT
On Wed, Nov 28, 2007 at 09:28:53PM +0100, Ard Schrijvers wrote:
> 
> > 
> > Hi,
> > 
> > On Nov 28, 2007 7:54 PM, Eugeny N Dzhurinsky <bofh@redwerk.com> wrote:
> > > So in general the entire tree has several domain nodes, and each 
> > > domain node hash set of a nodes which hold the content of domain 
> > > object for given date, and each date node has a lot (up to 
> > several millions) of child nodes.
> 
> > Jukka Zitting wrote:
> > The large number of child nodes per a "date" node is a clear 
> > warning sign. Accessing a node with a large number (>10k) of 
> > direct child nodes is expensive.
> > 
> > Can you rearrange the child nodes to a subtree hierarchy?
> I really assumed he meant several millions of child nodes as in several
> million descendants...I just cannot believe Eugeny is talking about
> millions of child nodes without any hierarchy. 

In fact, this is my case - we have a lot of same level child nodes for a set
of parent nodes.

> Though, an XPath query won't be slower for a flat distribution if I am
> correct (actually faster because the hierarchy resolver has an easier
> job), but he also seems to suffer from queries that do not perform. 
> 
> Anyway, Eugeny, can you provide us the missing information?

Sure, the repository configuration is:

=====================================================================================
<?xml version="1.0"?>
<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.2//EN"
                            "http://jackrabbit.apache.org/dtd/repository-1.2.dtd">
<Repository>
   
    <FileSystem class="our.custom.filesystem">
	  	<param name="path" value="${rep.home}/repository"/>
    </FileSystem>
 
    <Security appName="Jackrabbit">
        
        <AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager">
        </AccessManager>

        <LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule">
         
           <param name="anonymousId" value="anonymous"/>       
        </LoginModule>

    </Security>
  
    <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
    
    <Workspace name="${wsp.name}">
        
        <FileSystem class="our.custom.filesystem">
					<param name="path" value="${wsp.home}"/>
        </FileSystem>

	   <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager">
					<param name="bundleCacheSize" value="8"/> 
					<param name="blobFSBlockSize" value="0"/> 
					<param name="blobFSInitialCacheSize" value="100"/> 
					<param name="blobFSMaximumCacheSize" value="4000"/> 
					<param name="blobFSBlockSize" value="0"/> 
					<param name="blobFSInitialCacheSize" value="100"/> 
					<param name="blobFSMaximumCacheSize" value="4000"/> 
					<param name="errorHandling" value=""/>
        </PersistenceManager>
        
        <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
            <param name="path" value="${wsp.home}/index"/>
        </SearchIndex>
        
    </Workspace>

    <Versioning rootPath="${rep.home}/version">
        
        <FileSystem class="our.custom.filesystem">
             <param name="path" value="${rep.home}/version" />
        </FileSystem>
        
        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager">
					<param name="bundleCacheSize" value="8"/> 
					<param name="blobFSBlockSize" value="0"/> 
					<param name="blobFSInitialCacheSize" value="100"/> 
					<param name="blobFSMaximumCacheSize" value="4000"/> 
					<param name="blobFSBlockSize" value="0"/> 
					<param name="blobFSInitialCacheSize" value="100"/> 
					<param name="blobFSMaximumCacheSize" value="4000"/>  
					<param name="errorHandling" value=""/>
        </PersistenceManager>

    </Versioning>

    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> 
    	<param name="path" value="${rep.home}/repository/index"/> 
    </SearchIndex>

</Repository>
=====================================================================================

We are using JackRabbit 1.3.

I will post XPATH queries we're concerning of a bit later, however if having a
lot of child nodes for a node may cause performance issues, we'll try to
re-arrange the nodes first.

Thank you for quick and prompt reply!

-- 
Eugene N Dzhurinsky

Mime
View raw message