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

innodb_flush_method=O_DIRECT causes 3x regression in workload

Details

    • Bug
    • Status: Closed (View Workflow)
    • Minor
    • Resolution: Not a Bug
    • 10.6.12, 10.6.13
    • N/A
    • None
    • CentOS 7, kernel 3.10

    Description

      Repro procedure is the same as MDEV-30567. Additional details for that in the comments.

      In short, this is the performance discrepancy we're seeing in 10.6.13 (10.6.12 performs similarly but slightly worse)-

      # Default (O_DIRECT)
      # * Q0: real: 14.21  min: 14.21  max: 14.21
       
      # innodb-flush-method = fsync
      # * Q0: real: 4.94  min: 4.94  max: 4.94
       
      # innodb-flush-method = O_DSYNC
      # * Q0: real: 4.92  min: 4.92  max: 4.92
       
      # innodb-flush-method = littlesync
      # * Q0: real: 4.91  min: 4.91  max: 4.91
       
      # innodb-flush-method = nosync
      # * Q0: real: 4.95  min: 4.95  max: 4.95
       
      # innodb-flush-method = O_DIRECT
      # * Q0: real: 14.21  min: 14.21  max: 14.21
       
      # innodb-flush-method = O_DIRECT_NO_FSYNC
      # * Q0: real: 12.81  min: 12.81  max: 12.81

      The customer for whom we are concerned about this issue for is currently using 10.4 where innodb_flush_method=fsync is the default. For 10.6 though, this changes to O_DIRECT. For now, we're advising the customer to hard-specify innodb_flush_method=fsync for 10.6. However, we know that O_DIRECT was made default in 10.6 as it generally improves over fsync, so we'd like to know if the regression we're seeing here is due to a bug that, if fixed, would make O_DIRECT the all-around ideal it is intended to be.

      Attachments

        Issue Links

          Activity

            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) created issue -
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            Field Original Value New Value
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            Priority Major [ 3 ] Minor [ 4 ]
            marko Marko Mäkelä made changes -
            marko Marko Mäkelä made changes -
            julien.fritsch Julien Fritsch made changes -
            Fix Version/s 10.4 [ 22408 ]
            Fix Version/s 10.5 [ 23123 ]
            Fix Version/s 10.6 [ 24028 ]
            julien.fritsch Julien Fritsch made changes -
            Fix Version/s 10.4 [ 22408 ]
            Fix Version/s 10.5 [ 23123 ]
            julien.fritsch Julien Fritsch made changes -
            Assignee Marko Mäkelä [ marko ]
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            marko Marko Mäkelä made changes -
            Assignee Marko Mäkelä [ marko ] Rob Schwyzer [ JIRAUSER40844 ]
            Status Open [ 1 ] Needs Feedback [ 10501 ]
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            Assignee Rob Schwyzer [ JIRAUSER40844 ] Marko Mäkelä [ marko ]
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            Status Needs Feedback [ 10501 ] Open [ 1 ]
            marko Marko Mäkelä made changes -
            Assignee Marko Mäkelä [ marko ] Rob Schwyzer [ JIRAUSER40844 ]
            Status Open [ 1 ] Needs Feedback [ 10501 ]
            marko Marko Mäkelä made changes -
            marko Marko Mäkelä made changes -
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            Assignee Rob Schwyzer [ JIRAUSER40844 ] Aleksey Midenkov [ midenok ]
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            midenok Aleksey Midenkov made changes -
            Status Needs Feedback [ 10501 ] Open [ 1 ]
            midenok Aleksey Midenkov made changes -
            Assignee Aleksey Midenkov [ midenok ] Marko Mäkelä [ marko ]
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            julien.fritsch Julien Fritsch made changes -
            Status Open [ 1 ] Confirmed [ 10101 ]
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            marko Marko Mäkelä made changes -
            Status Confirmed [ 10101 ] Open [ 1 ]
            marko Marko Mäkelä made changes -
            Assignee Marko Mäkelä [ marko ] Rob Schwyzer [ JIRAUSER40844 ]
            Status Open [ 1 ] Needs Feedback [ 10501 ]
            midenok Aleksey Midenkov made changes -
            Assignee Rob Schwyzer [ JIRAUSER40844 ] Marko Mäkelä [ marko ]
            Status Needs Feedback [ 10501 ] Open [ 1 ]
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            marko Marko Mäkelä made changes -
            Assignee Marko Mäkelä [ marko ] Rob Schwyzer [ JIRAUSER40844 ]
            Status Open [ 1 ] Needs Feedback [ 10501 ]
            midenok Aleksey Midenkov made changes -
            Assignee Rob Schwyzer [ JIRAUSER40844 ] Aleksey Midenkov [ midenok ]
            midenok Aleksey Midenkov made changes -
            Status Needs Feedback [ 10501 ] Open [ 1 ]
            midenok Aleksey Midenkov made changes -
            Component/s Storage Engine - InnoDB [ 10129 ]
            Fix Version/s N/A [ 14700 ]
            Fix Version/s 10.6 [ 24028 ]
            Resolution Not a Bug [ 6 ]
            Status Open [ 1 ] Closed [ 6 ]
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            marko Marko Mäkelä made changes -
            mariadb-jira-automation Jira Automation (IT) made changes -
            Zendesk Related Tickets 201658
            Zendesk active tickets 201658
            marko Marko Mäkelä made changes -

            People

              midenok Aleksey Midenkov
              rob.schwyzer@mariadb.com Rob Schwyzer (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              7 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.