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

MariaDB with XtraDB uses times more of IO events than with InnoDB plugin

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 5.5.38, 10.0.11
    • 5.5.39, 10.0.13
    • None
    • None

    Description

      If MariaDB is started with default options, it uses several times more IO events than if it's started with InnoDB plugin, or than Percona server, or MySQL server.

      On my machine, if I run the server manually with all default options, the values are:

      MariaDB 5.5/10.0 with InnoDB plugin, Percona 5.5/5.6, MySQL 5.5/5.6:
      2661

      MariaDB 5.5/10.0 with XtraDB:
      14337

      With MTR the values are somewhat different, possibly due to non-default options, but the problem is still obvious:

      MariaDB 5.5/10.0 with InnoDB plugin, Percona 5.5/5.6, MySQL 5.5/5.6:
      4298

      MariaDB 5.5/10.0 with XtraDB:
      15050

      Apparently, it has been like that from early versions of MariaDB 5.5.

      While hitting the maximum is not a fatal problem for MariaDB, it still means that the native AIO will be switched off much earlier than it could have been.

      MTR test:

      --source include/have_innodb.inc
       
      --echo AIO count:
      --exec cat /proc/sys/fs/aio-nr

      Attachments

        Activity

          Repeated:

          AIO count:
          3336
          innodb.innodb-aio-events 'innodb_plugin' [ pass ]      3
          AIO count:
          24840
          innodb.innodb-aio-events 'xtradb'        [ pass ]      5

          jplindst Jan Lindström (Inactive) added a comment - Repeated: AIO count: 3336 innodb.innodb-aio-events 'innodb_plugin' [ pass ] 3 AIO count: 24840 innodb.innodb-aio-events 'xtradb' [ pass ] 5

          This is the difference:

          === modified file 'storage/xtradb/include/os0file.h'
          — storage/xtradb/include/os0file.h 2014-05-06 08:21:34 +0000
          +++ storage/xtradb/include/os0file.h 2014-07-04 04:26:43 +0000
          @@ -168,8 +168,8 @@
          #define OS_FILE_LOG 256 /* This can be ORed to type */
          /* @} */

          -#define OS_AIO_N_PENDING_IOS_PER_THREAD 256 /*!< Windows might be able to handle
          -more */
          +#define OS_AIO_N_PENDING_IOS_PER_THREAD 32 /*!< Win NT does not allow more
          + than 64 */

          jplindst Jan Lindström (Inactive) added a comment - This is the difference: === modified file 'storage/xtradb/include/os0file.h' — storage/xtradb/include/os0file.h 2014-05-06 08:21:34 +0000 +++ storage/xtradb/include/os0file.h 2014-07-04 04:26:43 +0000 @@ -168,8 +168,8 @@ #define OS_FILE_LOG 256 /* This can be ORed to type */ /* @} */ -#define OS_AIO_N_PENDING_IOS_PER_THREAD 256 /*!< Windows might be able to handle -more */ +#define OS_AIO_N_PENDING_IOS_PER_THREAD 32 /*!< Win NT does not allow more + than 64 */

          10.0:

          revno: 4272
          committer: Jan Lindström <jplindst@mariadb.org>
          branch nick: 10.0-innodb
          timestamp: Fri 2014-07-04 08:09:27 +0300
          message:
          MDEV-6318: MariaDB with XtraDB uses times more of IO events
          than with InnoDB plugin

          Fix: os0file.h in XtraDB had OS_AIO_N_PENDING_IOS_PER_THREAD 256
          when on InnoDB it is OS_AIO_N_PENDING_IOS_PER_THREAD 32. Changed
          XtraDB also to use 32.

          jplindst Jan Lindström (Inactive) added a comment - 10.0: revno: 4272 committer: Jan Lindström <jplindst@mariadb.org> branch nick: 10.0-innodb timestamp: Fri 2014-07-04 08:09:27 +0300 message: MDEV-6318 : MariaDB with XtraDB uses times more of IO events than with InnoDB plugin Fix: os0file.h in XtraDB had OS_AIO_N_PENDING_IOS_PER_THREAD 256 when on InnoDB it is OS_AIO_N_PENDING_IOS_PER_THREAD 32. Changed XtraDB also to use 32.

          5.5:

          revno: 4222
          committer: Jan Lindström <jplindst@mariadb.org>
          branch nick: 5.5
          timestamp: Fri 2014-07-04 08:16:45 +0300
          message:
          MDEV-6318: MariaDB with XtraDB uses times more of IO events
          than with InnoDB plugin

          Fix: os0file.h in XtraDB had OS_AIO_N_PENDING_IOS_PER_THREAD 256
          when on InnoDB it is OS_AIO_N_PENDING_IOS_PER_THREAD 32. Changed
          XtraDB also to use 32.

          jplindst Jan Lindström (Inactive) added a comment - 5.5: revno: 4222 committer: Jan Lindström <jplindst@mariadb.org> branch nick: 5.5 timestamp: Fri 2014-07-04 08:16:45 +0300 message: MDEV-6318 : MariaDB with XtraDB uses times more of IO events than with InnoDB plugin Fix: os0file.h in XtraDB had OS_AIO_N_PENDING_IOS_PER_THREAD 256 when on InnoDB it is OS_AIO_N_PENDING_IOS_PER_THREAD 32. Changed XtraDB also to use 32.

          People

            jplindst Jan Lindström (Inactive)
            elenst Elena Stepanova
            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.