Derby
  1. Derby
  2. DERBY-5067

Performance regression tests should populate tables before creating indexes

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 10.8.1.2
    • Fix Version/s: 10.8.1.2
    • Component/s: Test
    • Labels:
      None

      Description

      I've noticed that the results from some of the performance regression tests have become more unstable the last two weeks. See for example here: http://home.online.no/~olmsan/derby/perf/select_30d.html

      I suspect it's because the automatic index statistics thread is running (the instability started at about the same time as it was enabled). We should make the test clients create indexes after the tables have been populated so that the statistics will be up to date and no work in the background is needed.

      1. pk.diff
        4 kB
        Knut Anders Hatlen
      2. select.png
        9 kB
        Knut Anders Hatlen

        Issue Links

          Activity

          Hide
          Knut Anders Hatlen added a comment -

          Attaching a patch that moves the definition of primary key constraints from the table definitions to separate ALTER TABLE statements after the tables have been populated. It looks like CREATE INDEX statements already are placed after populating the tables.

          Show
          Knut Anders Hatlen added a comment - Attaching a patch that moves the definition of primary key constraints from the table definitions to separate ALTER TABLE statements after the tables have been populated. It looks like CREATE INDEX statements already are placed after populating the tables.
          Hide
          Knut Anders Hatlen added a comment -

          I ran the sr_select test 100 times both with and without the patch, 30 sec warmup, 60 sec data collection. The attached graph shows the results. With the patch, the results are consistently higher than without the patch.

          Note that the indexes here are for single-column primary key constraints, so a fix for DERBY-3790 would probably also have avoided the background work in this case.

          Show
          Knut Anders Hatlen added a comment - I ran the sr_select test 100 times both with and without the patch, 30 sec warmup, 60 sec data collection. The attached graph shows the results. With the patch, the results are consistently higher than without the patch. Note that the indexes here are for single-column primary key constraints, so a fix for DERBY-3790 would probably also have avoided the background work in this case.
          Hide
          Knut Anders Hatlen added a comment -

          Committed revision 1074449.

          Show
          Knut Anders Hatlen added a comment - Committed revision 1074449.
          Hide
          Knut Anders Hatlen added a comment -

          The results seem to have stabilized at the same level as before the enabling of istat. Closing the issue.

          Show
          Knut Anders Hatlen added a comment - The results seem to have stabilized at the same level as before the enabling of istat. Closing the issue.

            People

            • Assignee:
              Knut Anders Hatlen
              Reporter:
              Knut Anders Hatlen
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development