[
https://issues.apache.org/jira/browse/DERBY-4565?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rick Hillegas updated DERBY-4565:
---------------------------------
Attachment: derby-4565-xx-deoptimized.diff
derby-4565-throughput.html
Attaching derby-4565-xx-deoptimized.diff and derby-4565-throughput.html.
1) derby-4565-xx-deoptimized.diff is a patch which removes the optimization
that pre-allocates ranges of sequence numbers. After applying this patch, each
execution of "next value for" causes the engine to update the corresponding
SYSSEQUENCES row.
2) derby-4565-throughput.html describes some experiments I ran to compare
transaction throughput with and without the optimization.
Here is a summary of my findings:
i) The throughput gain is impressive if your transaction simply grabs one
number from a single sequence generator. On my dual-core Macbook Pro, I saw a
305% throughput boost in this case.
ii) The throughput gain is less impressive if your transaction grabs 100
numbers from a single sequence generator. In this case the optimization boosted
throughput only by 30%.
iii) The throughput gain can be even less impressive if your transaction grabs
a sequence number and stuffs it into a table. Here the benefits of the
optimization may be swamped by other contention in the engine. In the worst
case which I measured, the optimization only boosted throughput by 14%.
In short, the added complexity of the optimization may seem more or less
justified depending on the nature of your workload.
> Create concurrency test to stress sequence generators.
> ------------------------------------------------------
>
> Key: DERBY-4565
> URL: https://issues.apache.org/jira/browse/DERBY-4565
> Project: Derby
> Issue Type: Task
> Components: SQL, Test
> Affects Versions: 10.6.0.0
> Reporter: Rick Hillegas
> Assignee: Rick Hillegas
> Attachments: derby-4565-01-ad-firstRev.diff,
> derby-4565-02-aa-useWaitTimeout.diff, derby-4565-02-ab-useWaitTimeout.diff,
> derby-4565-03-aa-academicTest.diff, derby-4565-throughput.html,
> derby-4565-xx-deoptimized.diff
>
>
> Create a concurrency test to find bottlenecks and bugs in sequence generators.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira