Details
-
Bug
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Not a Bug
-
10.6.12, 10.6.13
-
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
- duplicates
-
MDEV-27772 Performance regression with default configuration in 10.6
-
- Open
-
- is blocked by
-
MDEV-29967 innodb_read_ahead_threshold (linear read-ahead) does not work
-
- Closed
-
- relates to
-
MDEV-30567 rec_get_offsets() is not optimal
-
- Closed
-
-
MDEV-30986 Slow full index scan in 10.6 vs 10.5 for the (slow) I/O-bound case
-
- Closed
-
-
MDEV-35813 Performance regression in INSERT…SELECT due to unnecessarily making InnoDB log durable
-
- Closed
-
- mentioned in
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
O_DIRECT innodb_random_read_ahead=OFF vs ON
innodb_random_read_ahead=OFF
innodb_random_read_ahead=OFF
innodb_buffer_pool_size=1342177280
innodb-flush-method = O_DIRECT
innodb_stats_persistent=OFF
innodb_stats_auto_recalc=OFF
{10.6} midenok@snsvr01:cmake$ sudo sysctl vm.drop_caches=3 && mp -q3
vm.drop_caches = 3
! Started: 245416
* Q0: real: 10.33 min: 10.33 max: 10.33
* Q1: real: 7.23 min: 7.23 max: 10.33
* Q2: real: 7.35 min: 7.23 max: 10.33
* Average for 3 queries:
real: 8.30 min: 7.23 max: 10.33
! Stopped: 245416
* Server dirty stats:
faults: 164 rfaults: 21545 fsi: 1278528 fso: 456 rss_max: 741840 cpu: 91 sys: 0.93 usr: 23.69 real: 26.91 ctx0: 60 ctx1: 87688
innodb_random_read_ahead=ON
innodb_random_read_ahead=ON
innodb_buffer_pool_size=1342177280
innodb-flush-method = O_DIRECT
innodb_stats_persistent=OFF
innodb_stats_auto_recalc=OFF
{10.6} midenok@snsvr01:cmake$ sudo sysctl vm.drop_caches=3 && mp -q3
vm.drop_caches = 3
! Started: 245958
* Q0: real: 8.08 min: 8.08 max: 8.08
* Q1: real: 7.40 min: 7.40 max: 8.08
* Q2: real: 7.31 min: 7.31 max: 8.08
* Average for 3 queries:
real: 7.59 min: 7.31 max: 8.08
! Stopped: 245958
* Server dirty stats:
faults: 164 rfaults: 21209 fsi: 1278112 fso: 472 rss_max: 745548 cpu: 100 sys: 1.24 usr: 23.55 real: 24.68 ctx0: 54 ctx1: 118957