MySQL儲存寫入速度慢分析

來源:互聯網
上載者:User

標籤:有用   保護   div   如何   周期性   避免   unit   資料庫   監控   

問題背景描述:  在MySQL中執行SQL語句,比如insert,賊慢,明明可能也就只是一行資料的插入,資料量很小,但是耗費的時間卻很多,為什嗎?

一、儲存結構分析

MySQL儲存結構圖:

 

解析:

  1、讀操作:記憶體讀-->cache緩衝讀-->磁碟物理讀

    讀取到的資料會按上述順序往回送。

  2、寫操作:記憶體資料直接寫入cache緩衝(非常快)-->寫入disk

由上可知,MySQL之所以讀寫速度快,cache在其中起到了關鍵作用。

1、Cache緩衝特點:

  1、速度快

  2、掉電資料丟失  

  3、容量有限

2、保護資料安全(防止意外掉電的資料丟失)應對措施:

  在儲存中,增加BBU(電池備份單元,就是電池),在掉電後,可以把緩衝中的資料寫到磁碟中,保證資料不會丟失。

  如果沒有提供BBU或者BBU壞了,記憶體資料就不會寫入cache緩衝中,就會直接寫入disk中;相較於寫入記憶體,寫入磁碟的速度就大打折扣(萬倍之差)。與此同時,因為慢下來的“寫”佔了絕大部分“讀”的頻寬。所以BBU問題是讀寫效能差的一很大的影響因素。

3、cache緩衝容量有限

  (4G、8G、16G、32G),系統為了保持cache有用,會周期性的將cache緩衝的資料寫入磁碟中,避免cache被佔滿。

 

二、儲存寫入速度慢分析

資料庫-->寫入速度慢-->系統hang住

Q:如何判斷寫入速度慢?

A:

  1、懷疑BBU問題

    監控BBU的bug,解決:重啟BBU

  2、cache被佔滿(類同於BBU壞了的情況)

    1、海量的寫入資料佔滿cache緩衝,判斷:

    shell> iostat -x

    mysql> show global status like ‘handler_write‘;

  2、cache寫入disk的速度慢了(排水速度遠小於注水速度)

    硬碟I/O異常,負載過高:資料庫海量的物理讀(異常SQL),判斷:

    mysql> show status like ‘Innodb_buffer_pool_reads‘;

  3、儲存效能差問題

    1、存放裝置差,更新裝置

     2、災備同步風險,“再好的工程師,敵不過藍翔的挖掘機、農民工的鋤頭……”

 

三、關於BBU

  英文簡稱:BBU

  英文全稱:Battery Backup Unit

  中文全稱:電池備份單元,是電池

1、作用:

  在掉電後,把緩衝中的資料寫到硬碟中,保證資料不會丟失;

  是為了意外掉電刷髒資料的一種保護措施;

  能夠在系統外部供電失效的情況下,提供後備電源支援,以保證存放裝置陣列中業務資料的安全性。

2、許多存放裝置都會配備BBU

  BBU在電源供應出現問題的時候,為RAID控制器緩衝提供電源。當電源斷電時,BBU電力可以使控制器內緩衝中的資料可以儲存一定時間(根據BBU的型號而決定)。使用者只需要在BBU電力耗盡(電池有限)之前恢複正常供電,緩衝中的資料即可被完整的寫回RAID中,避免斷電導致資料丟失。

  和伺服器電池有點不一樣,伺服器中,在配置RAID卡的時候可以配一個電池,在系統掉電後,能維持記憶體中的資料不丟失,但時間有限,大約12個小時左右,假如是12小時,如果在12內沒有恢複,記憶體中的資料就會丟失;

3、超級電容

  伺服器還有一種保護方式,叫超級電容,也是和RAID卡配套的,他能在伺服器掉電後把緩衝中的資料寫入到電容中,而且會永久儲存,類似寫入硬碟,實際上是寫入電容,你就理解成寫入隨身碟把。他比電池好,即使伺服器在12個小時後沒有恢複電源,也不會造成資料丟失。

MySQL儲存寫入速度慢分析

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.