• 1
  • 2
  • 3
  • 4
  • 5
mysql數據庫問題 首 頁  ?  幫助中心  »  數據庫  »  mysql數據庫問題
造成RDS for mysql 有時出現CPU\IOPS負載高的可能原因
發布日期:2015-11-8 15:11:26

  

  RDS的規格配置主要包含磁盤肯內存空間,其中內存則共同決定了實例的IPOS和CPU的規格。在使用的過程中經??赡苡龅紺PU、IOPS的負載跑高造成sql執行效率下降甚至嚴重時可能會出現HA切換。導致server端的應用程序響應較慢或者需要完成對RDS的重連來保證服務。這些負載升高的原因,我們下面從數據庫的原理上進行分析。

  首先,對于數據庫來講有四個基本的概念分別是物理讀、邏輯讀、物理寫和邏輯寫。

  他們的概念為:

  1. 物理讀:從物理數據文件的讀取操作;

  2. 邏輯讀:對于buffer cache中的讀取操作;

  3. 物理寫:對于數據文件的寫入操作。

  4. 邏輯寫:對buffer cache的寫入操作;

  這四種操作帶來了對數據庫不同的負載情況。

  當讀取一個記錄的時候首先回去buffer cache里面去尋找有沒有對應的記錄,如果有對應的記錄的會就直接讀出,這樣就產生了一次邏輯讀的操作。因為buffer cache中的數據都是由“latch”來保護的,所以邏輯讀的過程中需要不停地申請“latch”,但是這樣就造成了在申請和釋放“latch”和讀取數據都是需要耗費CPU的,因此邏輯讀對于CPU的負載較高。

  若沒有在buffer cache里面查看到該記錄,就需要到數據文件中查看,由此便產生了物理讀的情況。而物理讀會產生邏輯寫和邏輯讀,當用戶的物理讀的數量增加后就會導致IOPS的增長;另外,如果內存使用量過多的話,buffer cache會將其中的臟塊刷回數據文件,同樣也會導致IOPS的升高。

  同樣,寫數據時并非直接寫到數據文件里面,而是先寫在buffer cache里,之后再根據buffer cache的lazy write機制和checkpoint機制寫回到數據文件中,這種情況也將導致IOPS的升高。

       總之,RDS for mysql 出現CPU\IOPS負載高的原因便是由以上所述的幾點原因造成的。

  如果問題還未能解決,請聯系售后技術支持。

什么行业的讲师最赚钱 3d试机号 开奖 大唐棋牌官网 腾讯分分彩计划软件手机版 江西11选5哪里玩 金算盘准确一头一尾 股票分析师qq 王中王特马资料图 幸运农场赚钱方法 快三开奖结果查询 黑龙江11选5走势图手机版