You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Alex Parvulescu (Commented) (JIRA)" <ji...@apache.org> on 2011/10/06 17:57:29 UTC

[jira] [Commented] (JCR-3064) Concurrent access performance drop

    [ https://issues.apache.org/jira/browse/JCR-3064?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13122020#comment-13122020 ] 

Alex Parvulescu commented on JCR-3064:
--------------------------------------

being in the neighborhood, I did some profiling on ConcurrentReadTest using visualvm (hopefully the formatting will be friendly enough)
I'vve added the number of test runs next to the JR version.

# ConcurrentReadTest                                min     10%     50%     90%     max
2.2(431)                                                      18      34          84     164    1398

# ConcurrentReadTest                                 min     10%     50%     90%     max
2.3(102)                                                       63     305       497     645    1450

# ConcurrentReadTest(w parentId optim)       min     10%     50%     90%     max
2.3(130)                                                       12     142       380     624    1421


Top 5 invocations (with the help of visualvm):
(method / self time / invocations)

JR 2.3
o.a.j.core.security.authorization.acl.CachingEntryCollector.getEntries()	      656816 ms (14.3%)	3223
o.a.j.core.security.authorization.acl.CachingEntryCollector.getParentId()	      510579 ms (9.3%)	3104
o.a.j.core.security.authorization.acl.EntryCollector.collectEntries()	                  1047 ms (0.3%)         902
o.a.j.core.security.authorization.acl.CompiledPermissionsImpl.canRead()	          1009 ms (0.3%)         804
o.a.j.core.ItemManager.canRead()	                                                               0.000 ms (0%)      803

JR 2.2:
o.a.j.core.state.DefaultISMLocking.acquireReadLock()	                                299244 ms (14.4%)	2184
o.a.j.core.SessionImpl.getURI()	                                                                104227 ms (5%)	          833
o.a.j.spi.commons.name.RelativePath.getElements()	                                  79294 ms (3.8%)       745
o.a.j.core.cache.ConcurrentCache.get()	                                                          53731 ms (2.6%)       677
o.a.j.spi.commons.name.PathMap$Element.getPathElement()	                  51599 ms (2.5%)       475


I'll attach some screenshots of the visualvm output, for some nice visuals.
                
> Concurrent access performance drop
> ----------------------------------
>
>                 Key: JCR-3064
>                 URL: https://issues.apache.org/jira/browse/JCR-3064
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>            Reporter: Jukka Zitting
>            Priority: Blocker
>             Fix For: 2.4
>
>         Attachments: ConcurrentReadTest.png, ConcurrentReadWriteTest.png
>
>
> Our performance tests show a pretty bad drop in concurrent access performance (both read and write) in the latest trunk when compared to Jackrabbit 2.2. We need to track down the cause and fix it before the 2.3 release.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira