InnoDB 線程模型

1. IO Thread

InnoDB 中使用了大量的 AIO(Async IO)來做讀寫處理壹无,這樣可以極大提高數(shù)據(jù)庫的性能赔硫。在 InnoDB 1.0版本之前共有 4IO Thread纳像,分別是write斑举,read芹血,insert bufferlog thread,后來版本將 read threadwrite thread 分別增大到了 4 個移迫,一共有 10 個了。

  • read thread : 負責讀取操作管行,將數(shù)據(jù)從磁盤加載到緩存 page 頁厨埋。4
    write thread:負責寫操作,將緩存臟頁刷新到磁盤捐顷。4
    log thread:負責將日志緩沖區(qū)內容刷新到磁盤荡陷。1
    insert buffer thread :負責將寫緩沖內容刷新到磁盤。1
SHOW ENGINE INNODB STATUS

2. Purge Thread

事務提交之后迅涮,其使用的 undo 日志將不再需要废赞,因此需要 Purge Thread 回收已經(jīng)分配的 undo 頁。

-- 最多刪除的 undo 頁
SHOW VARIABLES LIKE '%innodb_purge_batch_size%';
SHOW VARIABLES LIKE '%innodb_purge_threads%'

3. Page Cleaner Thread

作用是將臟數(shù)據(jù)刷新到磁盤叮姑,臟數(shù)據(jù)刷盤后相應的 redo log 也就可以覆蓋唉地,即可以同步數(shù)據(jù),又能達到 redo log 循環(huán)使用的目的传透。會調用 write thread 線程處理耘沼。

show variables like '%innodb_page_cleaners%';

4. Master Thread

Master threadInnoDB 的主線程,負責調度其他各線程朱盐,優(yōu)先級最高群嗤。作用是將緩沖池中的數(shù)據(jù)異步刷新到磁盤 ,保證數(shù)據(jù)的一致性兵琳。包含:臟頁的刷新(page cleaner thread)狂秘、undo頁回收(purge thread)、redo日志刷新(log thread)躯肌、合并寫緩沖等者春。內部有兩個主處理,分別是每隔 1 秒和 10 秒處理羡榴。

4.1 每1秒的操作

  • 刷新日志緩沖區(qū)碧查,刷到磁盤
  • 合并寫緩沖區(qū)數(shù)據(jù),根據(jù) IO 讀寫壓力來決定是否操作
  • 刷新臟頁數(shù)據(jù)到磁盤校仑,根據(jù)臟頁比例達到 75%才操作忠售,可以根據(jù)下面兩個參數(shù)查看相應的值(innodb_max_dirty_pages_pctinnodb_io_capacity
SHOW VARIABLES LIKE '%innodb_max_dirty_pages_pct%'
SHOW VARIABLES LIKE '%innodb_io_capacity%'

4.2 每10 秒的操作

  • 刷新臟頁數(shù)據(jù)到磁盤
  • 合并寫緩沖區(qū)數(shù)據(jù)
  • 刷新日志緩沖區(qū)
  • 刪除無用的 undo
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末迄沫,一起剝皮案震驚了整個濱河市稻扬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌羊瘩,老刑警劉巖泰佳,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件盼砍,死亡現(xiàn)場離奇詭異,居然都是意外死亡逝她,警方通過查閱死者的電腦和手機浇坐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來黔宛,“玉大人近刘,你說我怎么就攤上這事⊥位危” “怎么了觉渴?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長徽惋。 經(jīng)常有香客問我案淋,道長,這世上最難降的妖魔是什么险绘? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任踢京,我火速辦了婚禮憔涉,結果婚禮上孵滞,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好渺氧,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蹬屹,像睡著了一般侣背。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上慨默,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天贩耐,我揣著相機與錄音,去河邊找鬼厦取。 笑死潮太,一個胖子當著我的面吹牛,可吹牛的內容都是我干的虾攻。 我是一名探鬼主播铡买,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼霎箍!你這毒婦竟也來了奇钞?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤漂坏,失蹤者是張志新(化名)和其女友劉穎景埃,沒想到半個月后媒至,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡谷徙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年拒啰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片完慧。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡图呢,死狀恐怖,靈堂內的尸體忽然破棺而出骗随,到底是詐尸還是另有隱情蛤织,我是刑警寧澤,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布鸿染,位于F島的核電站指蚜,受9級特大地震影響,放射性物質發(fā)生泄漏涨椒。R本人自食惡果不足惜摊鸡,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蚕冬。 院中可真熱鬧免猾,春花似錦、人聲如沸囤热。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽旁蔼。三九已至锨苏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間棺聊,已是汗流浹背伞租。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留限佩,地道東北人葵诈。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像祟同,于是被迫代替她去往敵國和親作喘。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內容

  • 最近看了《MySQL技術內幕InnoDB存儲引擎》一書耐亏,受益良多徊都,對Mysql InnoDB有了進一步的了解。于是...
    曉碼君閱讀 256評論 0 1
  • 在MySQL中的引擎一文中說了广辰,我們在幾乎所有的情況下其實用的都是InnoDB引擎暇矫,這里我們就重點再看一下這個引擎...
    david161閱讀 486評論 0 1
  • InnoDB體系架構 上圖簡單顯示了InnoDB存儲引擎的體系架構圖中可見主之,InnoDB存儲引擎有多個內存塊,可以...
    Rick617閱讀 4,020評論 0 6
  • innoDB的各個版本對比 innoDB的整體架構 后臺線程 master thread 1.賦值將緩沖池中的數(shù)據(jù)...
    簡書徐小耳閱讀 2,054評論 0 7
  • 最近看了《MySQL技術內幕InnoDB存儲引擎》一書李根,受益良多槽奕,對Mysql InnoDB有了進一步的了解。于是...
    binecy閱讀 498評論 0 0