Derby
  1. Derby
  2. DERBY-1961

Investigate resource usage for different types of load on an in-memory database

    Details

    • Type: Task Task
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 10.2.1.6
    • Fix Version/s: 10.3.1.4
    • Component/s: None
    • Labels:
      None
    • Bug behavior facts:
      Performance

      Description

      Investigate how much resources Derby uses and in which parts of the
      code they are used on an in-memory database. Find numbers for
      different kinds of load: single-record update and select operations,
      and join operations.

      Example of resource usage that could be measured: CPU, wall-clock
      time, system calls, context switches, monitor contention, object
      allocations, garbage collection, I/O.

      1. TestClient.java
        10 kB
        Knut Anders Hatlen

        Activity

        Knut Anders Hatlen created issue -
        Hide
        Knut Anders Hatlen added a comment -

        Uploaded a test client which can be used to investigate the resource
        usage for three different loads:

        • single-record select operations: select one row from a table of
          100000 rows (each row is 100 bytes)
        • single-record update operations: update one row in a table of
          100000 rows (same table as above)
        • join of a table of 10000 rows with a table of 1000 rows - 1000
          rows in each result

        All operations use primary keys. The joins work on tables which have
        the same schema as the tables in the Wisconsin test in Derby's
        regression test suite. The client uses the Wisconsin test code to fill
        the tables, and therefore derbyTesting.jar must be in the classpath
        when the test database is initialized. Run "java TestClient -h" to
        learn how to run the test clients.

        Show
        Knut Anders Hatlen added a comment - Uploaded a test client which can be used to investigate the resource usage for three different loads: single-record select operations: select one row from a table of 100000 rows (each row is 100 bytes) single-record update operations: update one row in a table of 100000 rows (same table as above) join of a table of 10000 rows with a table of 1000 rows - 1000 rows in each result All operations use primary keys. The joins work on tables which have the same schema as the tables in the Wisconsin test in Derby's regression test suite. The client uses the Wisconsin test code to fill the tables, and therefore derbyTesting.jar must be in the classpath when the test database is initialized. Run "java TestClient -h" to learn how to run the test clients.
        Knut Anders Hatlen made changes -
        Field Original Value New Value
        Attachment TestClient.java [ 12342987 ]
        Hide
        Knut Anders Hatlen added a comment -

        Created wiki page where results could be posted: http://wiki.apache.org/db-derby/Derby1961ResourceUsage

        Show
        Knut Anders Hatlen added a comment - Created wiki page where results could be posted: http://wiki.apache.org/db-derby/Derby1961ResourceUsage
        Hide
        Knut Anders Hatlen added a comment -

        The wiki page disappeared and I was unable to restore it with the same name. New location for the results: http://wiki.apache.org/db-derby/Derby1961ResourceUsage2

        Show
        Knut Anders Hatlen added a comment - The wiki page disappeared and I was unable to restore it with the same name. New location for the results: http://wiki.apache.org/db-derby/Derby1961ResourceUsage2
        Hide
        Knut Anders Hatlen added a comment -

        Derby 10.2.1.6 was used in the tests.

        Show
        Knut Anders Hatlen added a comment - Derby 10.2.1.6 was used in the tests.
        Knut Anders Hatlen made changes -
        Affects Version/s 10.2.1.6 [ 11187 ]
        Hide
        Knut Anders Hatlen added a comment -

        The investigation has been completed and the results are available on the wiki. Thanks to Dyre and Kristian for contributing data.

        Show
        Knut Anders Hatlen added a comment - The investigation has been completed and the results are available on the wiki. Thanks to Dyre and Kristian for contributing data.
        Knut Anders Hatlen made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Fix Version/s 10.3.0.0 [ 12310800 ]
        Resolution Fixed [ 1 ]
        Dag H. Wanvik made changes -
        Component/s Performance [ 11709 ]
        Dag H. Wanvik made changes -
        Derby Categories [Performance]
        Gavin made changes -
        Workflow jira [ 12387045 ] Default workflow, editable Closed status [ 12801474 ]

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development