Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-20630

lf_hash get performance regression since the bucket size won't decrease

    XMLWordPrintable

Details

    Description

      The rw_trx_hash is implement by lf_hash, After running oltp_write_only with 1024 threads sysbench, there is lots of trx_id insert into lf_hash, lf_hash will increase it's bucket size. However, after finish the sysbench, and running cleanup operation, the item will been deleted in lf_hash, however the bucket size won't decrease, there is still lots of dummy nodes in it.

      After that running oltp_read_write sysbench with 256 thread, the performance will get regression compare to running oltp_read_write sysbench directly without runing oltp_write_only with 1024 threads, even we have clean the data.

      in the test case, we can find that the lf_hash size is 512, however, there is only 2 item in it, so in the iterator operation, we need to iterator 512 dummy node to get the 2 item, that cause the performance regression.

      so can we add a new operation to reduce the bucket size and delete dummy node.

      Attachments

        Issue Links

          Activity

            People

              nikitamalyavin Nikita Malyavin
              baotiao zongzhi chen
              Votes:
              1 Vote for this issue
              Watchers:
              15 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.