Bug #40604 support multiple background IO threads in InnoDB
Submitted: 9 Nov 2008 18:26 Modified: 12 Aug 2009 17:09
Reporter: Mark Callaghan Email Updates:
Status: Closed Impact on me:
Category:MySQL Server: InnoDB storage engine Severity:S4 (Feature request)
Version:5.0,5.1 OS:Any
Assigned to: Inaam Rana CPU Architecture:Any
Tags: background.io, Contribution, innodb, thread

[9 Nov 2008 18:26] Mark Callaghan
Innodb uses 1 background IO thread to flush dirty buffer cache pages and 1 to handle prefetch read requests. This kills performance for reads when the server has many disks. It is bad for writes when buffered IO is not used. Multiple threads should be supported for reads and writes or support for async IO should be added.

How to repeat:
Run Innodb on a server with many disks and use innodb_flush_method=O_DIRECT

Suggested fix:
Derived from the Google patch http://bazaar.launchpad.net/%7Emdcallag/mysql-patch/5.0-map/revision/2687.

Percona has a different patch.
[10 Nov 2008 15:35] Heikki Tuuri
Assigning thsi feature request to myself.

We have the AIO patch in pipeline.
[10 Nov 2008 15:50] Heikki Tuuri
After a second thought, assigning this to Inaam, who is our AIO man.
[12 Aug 2009 17:09] Inaam Rana
Fixed in plugin 1.0.4

binaries/source and documentation available at innodb.com