jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jukka Zitting (JIRA)" <j...@apache.org>
Subject [jira] Updated: (JCR-2699) Improve read/write concurrency
Date Tue, 05 Oct 2010 09:56:33 GMT

     [ https://issues.apache.org/jira/browse/JCR-2699?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Jukka Zitting updated JCR-2699:

    Attachment: ConcurrentReadWriteTest.png

I've now implemented all of the above improvements (except ACL evaluation changes, which are
better handled in JCR-2573) and some other changes like allowing concurrent reads on pooled
bundle db persistence managers. Apart from the ACL handling, I think I've now cleared all
the major concurrency bottlenecks above the persistence manager layer. Most notably a cache
miss is no longer enough to block all concurrent readers.

The attached plots show the current performance in comparison to previous 2.x releases. The
test case randomly accesses 1000 nodes out of a hierarchy of 10,000 nodes (100x100) while
20 other readers are also concurrently accessing the nodes. In the read/write case a single
random writer thread is also included.

The lower bound (10th percentile) of all tests is at about 25ms, which corresponds to the
case where all accessed content is immediately available in the item state or bundle cache.
The median and the higher bound (90th percentile) show the effect of one or more cache misses.
The performance improvements are about 20-25% compared to Jackrabbit 2.1.

Note that these tests were run with the default Jackrabbit configuration, i.e. without access

> Improve read/write concurrency
> ------------------------------
>                 Key: JCR-2699
>                 URL: https://issues.apache.org/jira/browse/JCR-2699
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Jukka Zitting
>            Assignee: Jukka Zitting
>         Attachments: AccessControlProviderHolder.java, ConcurrentReadTest.png, ConcurrentReadTest.png,
ConcurrentReadWriteTest.png, DynamicSecurityManager-JCR2699.patch
> I'd like to set up a few performance tests to help identify our worst bottlenecks for
various kinds of concurrent read-only and read-write access patterns.
> Once identified, I'm hoping to fix at least some of those bottlenecks.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message