Bug #107421 | Support io_uring | ||
---|---|---|---|
Submitted: | 28 May 2022 10:03 | Modified: | 30 May 2022 9:43 |
Reporter: | He Haochen | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S4 (Feature request) |
Version: | 8.0 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[28 May 2022 10:03]
He Haochen
[28 May 2022 10:29]
He Haochen
Currently, MySQL supports two kinds of IOs: synchronized IO and Linux libaio (async). To ensure consistency, fsync should be issued frequently, this may make asynchronized IO fall back to synchronized IO. As I benchmark them here: https://ibb.co/59NQxqM Comparing the blue (asynchronized IO) and green (synchronized IO) lines, we can not see significant improvement. But asynchronized IO should be much more faster especially in NVMe SSD (with 65536 queues each 65536 indepth). I expected much better performance for these new devices. Recently, PostgreSQL has already planned to implement IO_uring interface (http://anarazel.de/talks/2020-01-31-fosdem-aio/aio.pdf). Many benchmarking results have shown io_uring can reach the theoretical limit of the devices(https://thenewstack.io/how-io_uring-and-ebpf-will-revolutionize-programming-in-linux/) Shall MySQL take supporting io_uring into consideration? Thanks & best, Haochen
[30 May 2022 9:43]
MySQL Verification Team
Hello He Haochen, Thank you for the feature request! regards, Umesh