日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 使用异步io_InnoDB引擎之-异步IO(Async IO)

發布時間:2023/12/10 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 使用异步io_InnoDB引擎之-异步IO(Async IO) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

InnoDB引擎有幾個重點特性,為其帶來了更好的性能和可靠性:

插入緩沖(Insert Buffer)

兩次寫(Double Write)

自適應哈希索引(Adaptive Hash Index)

異步IO(Async IO)

刷新鄰接頁(Flush Neighbor Page)

關于AIO與SIO

為了提高磁盤操作性能,當前的數據庫系統都采用異步IO的方式來處理磁盤操作。

同步IO:我們常用的read/write函數(Linux上)就是這類IO,特點是,在函數執行的時候,調用者會等待函數執行完成,而且沒有消息通知機制,因為函數返回了,就表示操作完成了,后續直接檢查返回值就可知道操作是否成功。這類IO操作,編程比較簡單,在同一個線程中就能完成所有操作,但是需要調用者等待,在數據庫系統中,比較適合急需某些數據的時候調用,例如WAL中日志必須在返回客戶端前落盤,則進行一次同步IO操作。

異步IO:在數據庫中,后臺刷數據塊的IO線程,基本都使用了異步IO。數據庫前臺線程只需要把刷塊請求提交到異步IO的隊列中即可返回做其他事情,而后臺線程IO線程,則定期檢查這些提交的請求是否已經完成,如果完成再做一些后續處理工作。同時異步IO由于常常是一批一批的請求提交,如果不同請求訪問同一個文件且偏移量連續,則可以合并成一個IO請求。例如,第一個請求讀取文件1,偏移量100開始的200字節數據,第二個請求讀取文件1,偏移量300開始的100字節數據,則這兩個請求可以合并為讀取文件1,偏移量100開始的300字節數據。數據預讀中的邏輯預讀也常常使用異步IO技術。

Innodb 使用異步IO的場景

總的來說innodb 只會對數據文件采用異步IO,為了保存日志是真正被寫入到磁盤,innodb不會對日志文件啟用異步IO;innodb只會對數據文件的read-ahead ,write 這兩個操作啟用異步IO

異步IO在mysql中解決了什么問題

在沒有IO這個功能之前,innodb對數據的讀寫請求先放入任務隊列,后臺read-thread ,write-thread從任務隊列中拿出任務并執行讀寫操作;后臺讀寫線程的個數可以通過show engine innodb status 語句來查看

show engine innodb status;

--------

FILE I/O

--------

I/O thread 0 state: waiting for i/o request (insert buffer thread)

I/O thread 1 state: waiting for i/o request (log thread)

I/O thread 2 state: waiting for i/o request (read thread)

I/O thread 3 state: waiting for i/o request (read thread)

I/O thread 4 state: waiting for i/o request (read thread)

I/O thread 5 state: waiting for i/o request (read thread)

I/O thread 6 state: waiting for i/o request (write thread)

I/O thread 7 state: waiting for i/o request (write thread)

I/O thread 8 state: waiting for i/o request (write thread)

I/O thread 9 state: waiting for i/o request (write thread)

Pending normal aio reads: [0, 0, 0, 0] , aio writes: [0, 0, 0, 0] ,

ibuf aio reads:, log i/o's:, sync i/o's:

Pending flushes (fsync) log: 0; buffer pool: 0

376 OS file reads, 54 OS file writes, 7 OS fsyncs

41.77 reads/s, 21886 avg bytes/read, 6.00 writes/s, 0.78 fsyncs/s

由上面的內容可以看出默認情況下innodb會有4個read-thread 和4個write-thread ,問題就出現在這里,如果業務繁重,讀寫任務會非常的多,而innodb只有八個讀寫線程,這樣的話隊列中的其它讀寫請求就沒能得到及時的響應。

引入異步IO之后,讀寫請求不再像之前那樣先放入隊列,等著后臺的讀寫線程去執行任務;而是查詢線程直接發起異步請求,這樣一來沖破了讀寫線程個數的硬性限制,二來由于異步IO是否阻塞的這也進一步提高了性能。

怎么啟用mysql異步IO

首先OS要有異步io,且開啟,然后mysqld要鏈接,要不然OS異步io沒有開啟,數據庫的異步io也起不來。(this variable applies to Linux systems only, and cannot be changed while the server is running.)

文件系統層面需要打開這個功能:

一般都是默認開啟的。

ldconfig -v|grep libaio

libaio.so.1.0.0 -> libaio.so.1.0.0

libaio.so.1 -> libaio.so.1.0.1

AIO是數據庫層面的一個特性需要打開:

默認是開啟,但是阿里云默認是關閉的,開啟的native aio性能提升,可以提高到75%。

mysql>show variables like 'innodb_use_native_aio';

+-------------------------+-----------------+

| Variable_name | Value |

+-------------------------+-----------------+

| innodb_use_native_aio | OFF |

+-------------------------+-----------------+

異步IO的優缺點

優點

不用等待直接響應上一個用戶的請求;

多次的請求在一起排序,請求的數據頁是在一起的,一次讀出來,減少多次讀。(數據庫的讀寫請求隊列放在文件系統中單獨分配的一塊小內存結構里,非文件系統的緩存)

缺點

異步IO對于我們來說是不可控的,所以說在啟用異步IO的情況下相當于是我們把IO的控制權交出去了。

總結

以上是生活随笔為你收集整理的mysql 使用异步io_InnoDB引擎之-异步IO(Async IO)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 人妻天天爽夜夜爽一区二区三区 | 国产成人三级一区二区在线观看一 | 国产精品日韩一区二区三区 | 日韩在线中文字幕 | 欧美激情aaa | www.youjizz.com国产| 美女靠逼视频网站 | 女人av在线| 久久亚洲综合色 | 第五色婷婷 | av国产网站| 国产午夜精品福利 | 国产精品一品二区三区的使用体验 | 亚洲视频不卡 | av综合色 | 国产精品5 | jzzijzzij亚洲成熟少妇在线观看 久久久精品人妻一区二区三区 | 欧美一级片一区二区 | 91视频青青草 | 美国色综合 | 日av在线播放| 亚洲视屏在线观看 | 欧美性大战久久久 | 大尺度叫床戏做爰视频 | 国产熟妇搡bbbb搡bbbb搡 | 香蕉国产在线 | 欧美成人午夜精品久久久 | 蜜桃在线一区二区 | 边吃奶边添下面好爽 | 瑟瑟在线观看 | 51精产品一区一区三区 | 99热99这里只有精品 | 中文在线字幕免费观 | 日本精品视频 | 欧美在线 | 亚洲 | 国产精久久久 | 久久高清精品 | 婷婷精品进入 | 疯狂做爰的爽文多肉小说王爷 | 日韩精品一区在线视频 | 久久毛片 | 中文字幕在线观看一区二区 | 免费九九视频 | 91国内揄拍国内精品对白 | 中国女人和老外的毛片 | 日韩激情av | 亚洲三级视频在线观看 | 天天cao| 五月婷婷网 | 成人一区二区视频 | wwwwww日本| 蜜桃91丨九色丨蝌蚪91桃色 | 91麻豆产精品久久久久久夏晴子 | 91激情网| 日本中文在线视频 | a级片在线观看视频 | 久久中文字幕一区 | 爆操巨乳美女 | 国产精选第一页 | 污黄网站在线观看 | 日韩伦乱| 国产专区在线 | 欧美性插动态图 | 潘金莲一级淫片a.aaaaa播放 | 1024欧美 | 亚洲高清网 | 啪啪日韩 | 波波野结衣 | www黄色com| 国产精品www在线观看 | 国产女主播一区二区 | 好色先生tv官网 | 六月丁香综合网 | 校园sm主奴调教1v1罚视频 | 色噜噜在线播放 | a级免费观看 | 香蕉久久久久久 | 成人动漫在线观看免费 | 欧美高清性xxxx| 在线观看网站av | 超碰97人人射妻 | 天天干天天色综合 | 国产成人在线电影 | 特级新鲜大片片 | www夜色| 国产无遮挡又黄又爽又色 | 亚洲国产成人精品女人久久久 | 女生和男生一起插插插 | 久久久久国 | 久久精品色欲国产AV一区二区 | 看全色黄大色黄大片女一次牛 | 午夜爱爱网站 | 色性网| 久久久精品福利 | 一本大道视频 | 三浦理惠子av在线播放 | 亚洲欧美91 | 久久高清 | 久久蜜桃av一区二区天堂 |