在阿里云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。