[
https://issues.apache.org/jira/browse/OAK-4844?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15525506#comment-15525506
]
Francesco Mari commented on OAK-4844:
-------------------------------------
I run the same benchmarks that were previously run for OAK-4631. These are the
base results for trunk (r1762301).
{noformat}
Apache Jackrabbit Oak 1.6-SNAPSHOT
# ConcurrentReadTest C min 10% 50% 90% max
N
Oak-Segment-Tar 1 50 97 120 149 281
489
# ConcurrentReadWriteTest C min 10% 50% 90% max
N
Oak-Segment-Tar 1 46 106 137 169 336
434
# ConcurrentWriteReadTest C min 10% 50% 90% max
N
Oak-Segment-Tar 1 3 6 17 35 315
3132
# ConcurrentWriteTest C min 10% 50% 90% max
N
Oak-Segment-Tar 1 87 92 229 375 466
262
{noformat}
Following are the results of the benchmarks after I applied the patch.
{noformat}
Apache Jackrabbit Oak 1.6-SNAPSHOT
# ConcurrentReadTest C min 10% 50% 90% max
N
Oak-Segment-Tar 1 177 247 280 309 366
216
# ConcurrentReadWriteTest C min 10% 50% 90% max
N
Oak-Segment-Tar 1 147 187 241 295 357
249
# ConcurrentWriteReadTest C min 10% 50% 90% max
N
Oak-Segment-Tar 1 5 33 49 68 106
1212
# ConcurrentWriteTest C min 10% 50% 90% max
N
Oak-Segment-Tar 1 84 92 97 182 371
492
{noformat}
While the patch seems to make writes faster, it introduce a penalty for reads.
From a review of the code, and given the findings in OAK-4812, I suspect of the
call to {{SegmentStore.newSegmentId()}} from the method
{{Segment.internalReadRecordId()}}. Creating Segment IDs seem to be a very
expensive operation. I will work out a new version of this patch with a
primitive caching in the {{Segment}} and report my findings here.
> Analyse effects of simplified record ids
> ----------------------------------------
>
> Key: OAK-4844
> URL: https://issues.apache.org/jira/browse/OAK-4844
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: segment-tar
> Reporter: Michael Dürig
> Assignee: Michael Dürig
> Labels: performance
> Fix For: Segment Tar 0.0.14
>
> Attachments: OAK-4844.patch
>
>
> OAK-4631 introduced a simplified serialisation for record ids. This causes
> their footprint on disk to increase from 3 bytes to 18 bytes. OAK-4631 has
> some initial analysis on the effect this is having on repositories as a
> whole.
> I'm opening this issue as a dedicated task to further look into mitigation
> strategies (if necessary).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)