[MDEV-6318] MariaDB with XtraDB uses times more of IO events than with InnoDB plugin Created: 2014-06-06  Updated: 2014-07-04  Resolved: 2014-07-04

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: 5.5.38, 10.0.11
Fix Version/s: 5.5.39, 10.0.13

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Jan Lindström (Inactive)
Resolution: Fixed Votes: 0
Labels: 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



 Comments   
Comment by Jan Lindström (Inactive) [ 2014-07-03 ]

Repeated:

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

Comment by Jan Lindström (Inactive) [ 2014-07-04 ]

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 */

Comment by Jan Lindström (Inactive) [ 2014-07-04 ]

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.

Comment by Jan Lindström (Inactive) [ 2014-07-04 ]

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.

Generated at Thu Feb 08 07:10:58 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.