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

Make number of purge threads variable dynamic

Details

    Description

      Currently number of purge threads is static variable and require server shutdown and restart to be able to change. This should be changed to dynamic variable.

      Attachments

        Issue Links

          Activity

            I think that instead of doing this, we should benchmark and evaluate the current architecture. Could the interplay between the purge coordinator and worker threads be improved? A simpler architecture could as a side effect fix MDEV-11802.

            For a benchmark, I would suggest something like the following:

            START TRANSACTION WITH CONSISTENT SNAPSHOT; -- stops purge
            -- run a well defined load of INSERT, UPDATE, DELETE (no ROLLBACK) in other connections
            COMMIT; -- releases purge
            -- then, repeat the following until History list length reaches 0, and measure the time
            SHOW ENGINE INNODB STATUS;
            

            During the last phase it would also be beneficial to run perf record or similar, to see where the time is being spent. It would also be useful to monitor the CPU usage with top or similar, to see if purge is actually running as fast as possible on an otherwise idle system, until there is no work to do.

            marko Marko Mäkelä added a comment - I think that instead of doing this, we should benchmark and evaluate the current architecture. Could the interplay between the purge coordinator and worker threads be improved? A simpler architecture could as a side effect fix MDEV-11802 . For a benchmark, I would suggest something like the following: START TRANSACTION WITH CONSISTENT SNAPSHOT; -- stops purge -- run a well defined load of INSERT, UPDATE, DELETE (no ROLLBACK) in other connections COMMIT ; -- releases purge -- then, repeat the following until History list length reaches 0, and measure the time SHOW ENGINE INNODB STATUS; During the last phase it would also be beneficial to run perf record or similar, to see where the time is being spent. It would also be useful to monitor the CPU usage with top or similar, to see if purge is actually running as fast as possible on an otherwise idle system, until there is no work to do.

            This ticket was duplicated as MDEV-26520 several years ago.

            marko Marko Mäkelä added a comment - This ticket was duplicated as MDEV-26520 several years ago.

            People

              marko Marko Mäkelä
              jplindst Jan Lindström (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

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