jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sxm <sx...@yahoo.com>
Subject Re: Performance of workspace copy
Date Thu, 08 Oct 2009 15:16:58 GMT

You were right about 1, (something must have been wrong when I previously
tried)

Significant improvement with MySqlPersistenceManager (almost 10 fold gain) ,
Here are two new issues with this approach. 

1. Performance deteriorates (6-8 times) as the no. of child nodes increase
beyond 4K (our typical use case is around 10K child nodes under a parent
node and in some cases may go up to 50 k)

2. How to migrate existing data from SimpleDB to MySqlPersistenceManager. We
need to bring versions along. Any commercial or open source options
available?

-Shailesh


Stefan Guggisberg wrote:
> 
> On Wed, Oct 7, 2009 at 3:19 PM, sxm <sxm20@yahoo.com> wrote:
>>
>> thanks Stefan, great suggestions. Could you please comment on [2]
>>
>> 1. I tried
>> org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager, no
>> visible performance improvement.
> 
> that's hard to believe. can you provide a mysql query log (20-40 lines
> would be enough)?
> 
>> 2. Binary data: We dont have any binary data. How can we be sure and
>> disable
>> the binary properties.
> 
> create your own, domain-specific node types.
> 
>> 3. We will try dataStore. Although, performance gains may not be
>> significant
>> as it appears to be using only two connections for the entire
>> transaction.
> 
> if you don't store binary properties, you don't need the DataStore.
> 
> 
> cheers
> stefan
> 
>> 4. Versionability is the basic requirement.
>> 5. Switching db also is not an option in short term, we certainly
>> consider
>> it for long term solution.
>>
>> -Shailesh
>>
>>
>> Stefan Guggisberg wrote:
>>>
>>> hi anonymous,
>>>
>>> On Wed, Oct 7, 2009 at 1:49 AM, sxm <sxm20@yahoo.com> wrote:
>>>>
>>>> We have a requirement where we need to copy thousands of child nodes
>>>> from
>>>> one
>>>> node to another. This becomes really slow and unusable when no. of
>>>> nodes
>>>> grow from 400 to 2000.
>>>>
>>>> I tried to caputre mysql query log for one node copy operation. This
>>>> looks
>>>> awfully big. Does this indicate anything wrong we have in our setup?
>>>
>>> yes. some suggestions/remarks:
>>>
>>> - use
>>> org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager
>>>   instead of
>>> org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager;
>>>   the former provides a significantly better performance [0].
>>> - seems like you store a lot of binary data in your repository. using
>>> the DataStore [1]
>>>   should help to improve the performance.
>>> - all your content seems to be versionable. make sure you do require
>>> versionability
>>>   of your content as this feature doesn't come for free
>>> performance-wise. remove
>>>   mix:versionable where you don't need it.
>>> - unless you have a strict requirement to use mysql try using an
>>> embedded
>>> db
>>>   such as derby (jackrabbit's default) or e.g. H2. performance with an
>>> embedded
>>>   db should be much better.
>>>
>>> cheers
>>> stefan
>>>
>>>
>>> [0] http://wiki.apache.org/jackrabbit/PersistenceManagerFAQ
>>> [1] http://wiki.apache.org/jackrabbit/DataStore
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Performance-of-workspace-copy-tp25778413p25785431.html
>> Sent from the Jackrabbit - Users mailing list archive at Nabble.com.
>>
>>
> 
> 

-- 
View this message in context: http://www.nabble.com/Performance-of-workspace-copy-tp25778413p25803247.html
Sent from the Jackrabbit - Users mailing list archive at Nabble.com.


Mime
View raw message