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

Parallel slave speedup very limited when log_slave_updates=OFF

    Details

      Description

      Branching this off from MDEV-15173 (see that MDEV for all the details)

      Parallel slave (slave_parallel_mode=conservative does not provide a lot of speedup over single-threaded slave when log_slave_updates=OFF.

      When log_slave_updates=ON the performance is acceptable.

      Summary of the investigations from MDEV-15173:

      The reason is that with log_slave_updates=ON the server employs XA between the storage engine the binlog:

      • Prepare calls sync their effects to disk
        • They are are done in parallel, so they can take advantage of the group commit.
      • Commit calls are done one-after-another in order to commit in the master's binlog order
        • but they dont sync to disk and so are fast.

      With log_slave_updates=OFF :

      • XA is not used (as MyRocks is the only participant)
      • commit() calls are done one-after-another in the binlog order
      • The storage engine is instructed to sync.
      • The above two together mean that MyRocks' group commit does not function.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                psergey Sergei Petrunia
                Reporter:
                psergey Sergei Petrunia
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: