You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Rick Hillegas (Updated) (JIRA)" <ji...@apache.org> on 2012/04/17 17:58:17 UTC

[jira] [Updated] (DERBY-5471) Stress test for identity columns and sequence seem to be taking longer on trunk compared to 10.8.2.2 RC3

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

Rick Hillegas updated DERBY-5471:
---------------------------------

    Attachment: 5471-performance.html

Attaching 5471-performance.html, a report on concurrency tests I ran on a 32-cpu machine, using Java 7 with the write-cache disabled. I ran the tests with 3 codelines: 10.8.2.2, current trunk, and trunk plus the derby-5493-01-ae-simplerApproachWithCrashJUnitTest.diff patch.

For identity columns, the results are simple: throughput stays constant regardless of the codeline.

For sequences, the results are more complicated:

o Throughput goes up in the current trunk, presumably because the default pre-allocation size is 20 on the trunk, vs. 5 in 10.8.2.2.

o However, throughput drops significantly with the 5493 patch.

o By boosting the pre-allocation size to 100, throughput again goes above 10.8.2.2 levels.

I will see if I can adjust the patch to get better throughput numbers for sequences. I expect that I will discuss those experiments on derby-5493.

                
> Stress test for identity columns and sequence seem to be taking longer on trunk compared to 10.8.2.2 RC3
> --------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-5471
>                 URL: https://issues.apache.org/jira/browse/DERBY-5471
>             Project: Derby
>          Issue Type: Task
>          Components: Test
>    Affects Versions: 10.9.0.0
>         Environment: Windows XP version 2.18
> Genuine Intel(R) CPU T2600 dual core @2.16GHz 2.00GB of RAM 
> $ java -version
> java version "1.6.0"
> Java(TM) SE Runtime Environment (build pwi3260sr9fp1-20110208_03(SR9 FP1))
> IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 Windows XP x86-32 jvmwi3260sr9-201102
> 03_74623 (JIT enabled, AOT enabled)
> J9VM - 20110203_074623
> JIT  - r9_20101028_17488ifx3
> GC   - 20101027_AA)
> JCL  - 20110203_01
>            Reporter: Mamta A. Satoor
>         Attachments: 5471-performance.html
>
>
> I have been trying to run org.apache.derbyTesting.perf.clients.Runner (which provides ways to stress test sequence generator and identity columns) on trunk and 10.8.2.2 RC3 to compare the performance and I find that it takes almost double the time for the tests to finish on trunk. Additionally, the identity column test consistently ran into lock timeouts on trunk. I am running with insane jars on trunk and 10.8.2.2 RC3. The test in question is not in official jars for the release candidate so I manually copied them to 10.8.2.2 RC3 environment during my test(basically copied the entire org.apache.derbyTesting.perf.clients.Runner directory from trunk to 10.8.2.2 RC3 environment).
> Command to do sequence stress testing is as follows
> java org.apache.derbyTesting.perf.clients.Runner -driver org.apache.derby.jdbc.EmbeddedDriver -init -load seq_gen -load_opts debugging=1,numberOfGenerators=5,tablesPerGenerator=10,insertsPerTransaction=100,identityTest=0 -gen b2b -threads 10
> Command to do identity column stress testing is as follows
> time java org.apache.derbyTesting.perf.clients.Runner -driver org.apache.derby.jdbc.EmbeddedDriver -init -load seq_gen -load_opts debugging=1,numberOfGenerators=5,tablesPerGenerator=10,insertsPerTransaction=100,identityTest=1 -gen b2b -threads 10
> An average run on 10.8.2.2 RC3 for sequence stress test is about a minute and 46 secs. On trunk, on an average it takes 2 and half minutes
> An average run on 10.8.2.2 RC3 for identity stress test is about a minute and 50 secs. On trunk, on an average it takes 3minsutes and 30 secs. Also, on trunk, this test runs into lock timeouts.
> I was wondering if this is the right behavior. The performance should be better in trunk because of pre-allocation of range for sequences and identity columns(which defaults to 20) but unless I have missed something in my tests, the results don't show the performance improvement.

--
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