Mysql 刷臟頁磁盤

一條SQL語句葛家,正常執(zhí)行時(shí)候特別快,有時(shí)候會(huì)突然變得特別慢蚀同,而且很難復(fù)現(xiàn)缅刽,它不只是隨機(jī)而且持續(xù)時(shí)間很短。 看上去像數(shù)據(jù)庫抖了一下 – 原因就是MySQL在刷臟頁到磁盤蠢络。

當(dāng)內(nèi)存數(shù)據(jù)頁和磁盤數(shù)據(jù)頁內(nèi)容不一致的時(shí)候拷恨,這個(gè)數(shù)據(jù)頁被稱為“臟頁”。內(nèi)存數(shù)據(jù)寫入磁盤后谢肾,內(nèi)存和磁盤的數(shù)據(jù)頁的內(nèi)容就一致了腕侄,稱為“干凈頁”。 不論臟頁還是干凈頁芦疏,都存在內(nèi)存里冕杠。

觸發(fā)數(shù)據(jù)庫的刷臟頁時(shí)機(jī)

  1. InnoDB的redo log寫滿了。這時(shí)候系統(tǒng)會(huì)停止所有更新操作去刷盤酸茴。這種情況應(yīng)該盡量避免分预,因?yàn)槌霈F(xiàn)這種情況的時(shí)候,整個(gè)系統(tǒng)就不能再接受更新薪捍,所有更新唄堵住笼痹。

  2. 內(nèi)存不足。當(dāng)需要新的內(nèi)存頁酪穿,內(nèi)存不夠用的時(shí)候凳干,就要淘汰一些數(shù)據(jù)頁,空出內(nèi)存給別的數(shù)據(jù)頁使用被济。如果淘汰的是“臟頁”救赐,就要將臟頁寫到磁盤。

InnoDB用緩沖池buffer pool來管理內(nèi)存只磷,緩沖池中的內(nèi)存頁有三種狀態(tài):

  1. 還沒使用
  2. 使用了并且是干凈頁
  3. 使用了并且是臟頁
    InnoDB的策略是盡量使用內(nèi)存经磅,因此對(duì)于一個(gè)長時(shí)間運(yùn)行的庫來說,未被使用的頁面很少钮追。當(dāng)要讀入的數(shù)據(jù)頁沒有在內(nèi)存的時(shí)候预厌,就必須到緩沖池中申請(qǐng)一個(gè)數(shù)據(jù)頁。這時(shí)候只能把最久不使用的數(shù)據(jù)頁從內(nèi)存中淘汰掉:如果要淘汰的是一個(gè)干凈頁元媚,就直接釋放出來復(fù)用轧叽;當(dāng)如果是臟頁,就必須先講臟頁刷盤惠毁,變成干凈頁后才能復(fù)用犹芹。所以刷臟頁是常態(tài)。

但是出現(xiàn)以下情況會(huì)明顯影響性能:

  • 一個(gè)查詢要淘汰的臟頁個(gè)數(shù)太多鞠绰,就會(huì)導(dǎo)致查詢的響應(yīng)事件明顯變長腰埂。
  • 日志寫滿,更新全部堵住蜈膨,寫性能跌為0屿笼,這種對(duì)于敏感業(yè)務(wù)來說牺荠,是不能接受的。
  1. 系統(tǒng)空閑時(shí)候驴一。
  2. MySQL正常關(guān)閉時(shí)候休雌。

刷盤策略

InnoDB 需要有控制臟頁比例的機(jī)制,來盡量避免性能的影響肝断。

  1. 設(shè)置InnoDB所在主機(jī)的IO能力杈曲,這樣InnoDB可以獲知全力刷臟頁可以多快。
    innodb_io_capacity = IOPS

case: 如果出現(xiàn)MySQL寫入速度很慢胸懈,TPS很低担扑,而數(shù)據(jù)庫主機(jī)IO壓力并不大,很可能就是這個(gè)原因趣钱。

  1. InnoDB控制引擎按照“全力”的百分比刷臟頁 - 刷盤速度涌献。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市首有,隨后出現(xiàn)的幾起案子燕垃,更是在濱河造成了極大的恐慌,老刑警劉巖井联,帶你破解...
    沈念sama閱讀 210,835評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卜壕,死亡現(xiàn)場離奇詭異,居然都是意外死亡低矮,警方通過查閱死者的電腦和手機(jī)印叁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,900評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來军掂,“玉大人,你說我怎么就攤上這事昨悼』茸叮” “怎么了?”我有些...
    開封第一講書人閱讀 156,481評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵率触,是天一觀的道長终议。 經(jīng)常有香客問我,道長葱蝗,這世上最難降的妖魔是什么穴张? 我笑而不...
    開封第一講書人閱讀 56,303評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮两曼,結(jié)果婚禮上皂甘,老公的妹妹穿的比我還像新娘。我一直安慰自己悼凑,他們只是感情好偿枕,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,375評(píng)論 5 384
  • 文/花漫 我一把揭開白布璧瞬。 她就那樣靜靜地躺著,像睡著了一般渐夸。 火紅的嫁衣襯著肌膚如雪嗤锉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,729評(píng)論 1 289
  • 那天墓塌,我揣著相機(jī)與錄音瘟忱,去河邊找鬼。 笑死苫幢,一個(gè)胖子當(dāng)著我的面吹牛酷誓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播态坦,決...
    沈念sama閱讀 38,877評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼盐数,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了伞梯?” 一聲冷哼從身側(cè)響起玫氢,我...
    開封第一講書人閱讀 37,633評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎谜诫,沒想到半個(gè)月后漾峡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,088評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡喻旷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,443評(píng)論 2 326
  • 正文 我和宋清朗相戀三年生逸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片且预。...
    茶點(diǎn)故事閱讀 38,563評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡槽袄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出锋谐,到底是詐尸還是另有隱情遍尺,我是刑警寧澤,帶...
    沈念sama閱讀 34,251評(píng)論 4 328
  • 正文 年R本政府宣布涮拗,位于F島的核電站乾戏,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏三热。R本人自食惡果不足惜鼓择,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,827評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望就漾。 院中可真熱鬧呐能,春花似錦、人聲如沸从藤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,712評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至懊蒸,卻和暖如春荣倾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背骑丸。 一陣腳步聲響...
    開封第一講書人閱讀 31,943評(píng)論 1 264
  • 我被黑心中介騙來泰國打工舌仍, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人通危。 一個(gè)月前我還...
    沈念sama閱讀 46,240評(píng)論 2 360
  • 正文 我出身青樓铸豁,卻偏偏與公主長得像,于是被迫代替她去往敵國和親菊碟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子节芥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,435評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容