jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcel Reutegger <marcel.reuteg...@gmx.net>
Subject Re: Using JackRabbit on a server with high traffic
Date Thu, 29 Oct 2009 09:16:25 GMT
On Wed, Oct 28, 2009 at 13:53, Paul PODGORSEK
<The_Wizard_of_wind_Oz@hotmail.com> wrote:
> Hello,
> I wanted to know if some of you are using JackRabbit on a server
> used by many users (about 35 single users per minute).
> I am currently getting
> problems on my application because it seems JackRabbit doesn't respond quickly
> enough.
> Is JackRabbit supposed to be working with
> high traffic, or should it only be used as a kind of
> datawarehouse?

I think Jackrabbit can be useful for both.

> Moreover, if it indeed can handle many connections at the
> same time, what could explain the bottleneck that comes from JackRabbit? Having
> had a look at the source code, I am wondering whether the synchronized methods
> in the
> org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager
> class aren't causing our problems. As far as I have looked, it seems only one
> user can access the repository at a time (this seems very strange!). Am I right?
> If yes, does someone know why it behaves that way?

that is only access to the persistence layer. multiple JCR sessions
can work with the repository concurrently without problems. however
there may be access patterns that lead to a bottleneck in the
persistence manager. See also:

> I was also wondering if changing the locking policy could be a good
> idea: our application on the server only reads content in JackRabbit (the
> content is written into the repository via a separate batch, so there is no need
> to synchronize read / write outside the batch). Do you think I could improve
> performances by only giving a "fake" lock that doesn't lock anything when we try
> to read content in the repository?

you could further scale the repository by using the clustering
feature. See: http://wiki.apache.org/jackrabbit/Clustering

> Last question: it is possible to specify a cache size in the org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager
(see the attached jackrabbit-repository.xml file). Is
> it a cache of objects fetched from the repository? or does it cache
> something else instead?

you can configure the size of the bundle cache. a bundle consists of a
node and all its properties.

<param name="bundleCacheSize" value="128"/>

the value is in MB and defaults to 32.

> Why do we need to give a max amount of memory to use,
> instead of giving a max number of objects in the cache? (like ehcache
> does)

because it allows better control over how much memory is used. The
size of a bundle can be very variable, depending on how many
properties it has and what is stored in those properties.


> The application is running on a WebLogic server and all content is stored into an Oracle
> I also added our repository configuration file to this email (we are using a 1.6 patched
version of JackRabbit).
> Any help will be greatly appreciated!
> Thank you very much.
> Kind
> regards,
> Paul.
> _________________________________________________________________
> Nouveau! Découvrez le Windows phone Samsung Omnia II disponible chez SFR.
> http://clk.atdmt.com/FRM/go/175819072/direct/01/

View raw message