mysql 异步_MySQL -- 异步I/O
生活随笔
收集整理的這篇文章主要介紹了
mysql 异步_MySQL -- 异步I/O
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
linux上,innodb使用異步IO子系統(native AIO)來對數據文件頁進行預讀和寫請求。行為受到參數innodb_use_native_aio控制。
默認是開啟的,且只是適用于linux平臺,需要libaio庫。在其他的類unix平臺上,innodb使用的是同步I/O。
由于歷史的原因,在windows平臺上innodb只使用異步I/O。
在同步I/O情況下,查詢線程將I/O請求放入隊列,innodb后臺線程會便利請求隊列,每次處理一個請求。并行處理的請求個數受到后臺線程的數量控制(參數innodb_read_io_threads)。
native AIO情況下,查詢線程直接將I/O請求分發給操作系統,從而避免的后臺線程數量對并發數的控制。innodb后臺線程只需要等待操作系統對IO請求的處理反饋信息。
native AIO優點是可以擴展,對于I/O高的系統,通過show engine innodb status可以看到很多掛起的讀寫線程。磁盤控制器影響I/O性能。
native AIO的另一個優點就是可以進行I/O merge操作。
native AIO潛在的不足是,對于高I/O系統缺少對I/O寫請求分發的控制。有些場景下,太多的I/O寫請求分發給操作系統,可能會導致I/O讀饑荒,這取決于系統可以同時處理I/O活動的能力。
總結
以上是生活随笔為你收集整理的mysql 异步_MySQL -- 异步I/O的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牧马人机械鼠标g3_性价比好的有线鼠标都
- 下一篇: Mysql8秒级加字段_Mysql8.0