在阿裡雲RDS數據庫服務器中将MySQL InnoDB引擎表轉為壓縮格式
今年以來将我們以前托管或者租用的服務器全面轉向阿裡雲,除了采用ECS服務器以外,還有一項重要的是采用了RDS數據庫服務器,這對于服務的穩定性、各項指标的監控、調優等都有幫助。
不過随着近期更多數據庫轉到RDS上,空間的占用、IOPS的升高等問題也越來越明顯,增加RDS空間、升級RDS規格肯定是有用的,但一味這樣做的話,費用會明顯飙升,還是得想辦法優化。
這是InnoDB分類的頁面,點擊下面标題查看詳細文章内容:
今年以來将我們以前托管或者租用的服務器全面轉向阿裡雲,除了采用ECS服務器以外,還有一項重要的是采用了RDS數據庫服務器,這對于服務的穩定性、各項指标的監控、調優等都有幫助。
不過随着近期更多數據庫轉到RDS上,空間的占用、IOPS的升高等問題也越來越明顯,增加RDS空間、升級RDS規格肯定是有用的,但一味這樣做的話,費用會明顯飙升,還是得想辦法優化。
周末把雲數據庫RDS進行了配置升級,上面的一些站點數據表從MyISAM轉為了InnoDB,今天早上來發現IOPS異常升高,網站打開困難,查看實時實例會話,發現有很多這樣的語句堆積:
以前就用過自己搭建MySQL服務器的兩種存儲引擎MyISAM和InnoDB(也用過一點Memory方式),在今年初轉向阿裡雲關系型數據庫服務RDS的時候,看到可調參數中有一個TokuDB,不過不太了解也沒有管。
以前使用的MySQL存儲引擎考慮到用多塊硬盤放置各個庫以便分散負載都是固定為MyISAM,現在搬遷到阿裡雲RDS後,考慮到查詢效率及空間大小也保持繼續用MyISAM。不過今天同事發現一個銷售數據的網站在購物車結算的時候報錯:
最近在對國内服務器進行硬盤的替換升級的時候,發現有一台服務器把數據庫遷移到新硬盤後,以前的老硬盤依然非常繁忙(用iostat檢查),仔細查看後,發現有一些MySQL數據庫用的InnoDB格式,即使把數據庫目錄搬遷後,實際數據依然放置在以前的硬盤上。
前段時間安裝Drupal 7的時候就遇到自動在MySQL中使用InnoDB的情況,而且好像是即使MySQL默認引擎為MyISAM也依舊使用InnoDB。雖然InnoDB有自己的特點,Drupal 7選用這個也正常,但對于我們來說,有多個子網站的時候,以前是将數據庫分散到多塊硬盤上的,就需要用MyISAM來讓每個子網站有獨立的目錄比較方便,所以還是需要能使用MyISAM。