溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Innodb關(guān)鍵特性之怎么刷新鄰接頁

發(fā)布時間:2021-11-01 09:20:50 來源:億速云 閱讀:125 作者:iii 欄目:MySQL數(shù)據(jù)庫

本篇內(nèi)容介紹了“Innodb關(guān)鍵特性之怎么刷新鄰接頁”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

1、工作原理

  當刷新一個臟頁時,innodb存儲引擎會檢測該頁所在區(qū)(extent)的所有頁,如果是臟頁,那么一起進行刷新。這樣做的好處顯而易見,通過AIO可以將多個IO寫入操作合并為一個IO操作,增大寫入量,減少了物理寫IO,故該工作機制在傳統(tǒng)機械磁盤下有著顯著的優(yōu)勢。

  1、在寫入次數(shù)基本不增加的情況下,增加了寫入的量;

  2、加速了臟頁的回收;

  3、充分利用double write每次1M寫入的特征;

  4、這個功能打開以后會發(fā)現(xiàn)iostat里面的wrqm(合并寫)這個值會比較高;

2、問題考慮

  1、是不是可能將不怎么臟的頁進行了寫入,而該頁之后又會很快變成臟頁?

  2、固態(tài)硬盤有著較高的 IOPS,是否還需要這個特性?

  為此,InnoDB 存儲引擎從 1.2.x 版本開始提供了參數(shù) innodb_flush_neighbors,用來控制是否啟用該特性。對于傳統(tǒng)機械硬盤建議啟用該特性,而對于固態(tài)硬盤有著超高 IOPS 性能的磁盤,則建議將該參數(shù)設(shè)置為 0、即關(guān)閉此特性。

3、參數(shù)控制:innodb_flush_neighbors

mysql>show variables like 'innodb_flush_neighbors';
+-------------------------+-----------------+
| Variable_name           | Value           |
+-------------------------+-----------------+
| innodb_flush_neighbors  | 1               |
+-------------------------+-----------------+

       1,表示打開了刷新鄰接頁的功能,順帶著刷新在 buffer pool 中位于磁盤上相同的 extend 區(qū)的相鄰的臟頁。

  0,表示關(guān)閉刷新鄰接頁

  2 ,表示刷新在 buffer pool 中位于磁盤上相同的 extend 區(qū)的臟頁。

4、Flush neighbor page的影響

  1、對于insert頻繁的系統(tǒng),這個功能比較適合

  2、對于update頻繁的系統(tǒng),這個功能可能會帶來一些副作用

    1、update順帶著刷新其他頁;

    2、對于update頻繁的表,這些頁馬上就臟了,白白浪費寫負載。

“Innodb關(guān)鍵特性之怎么刷新鄰接頁”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI