1、存放DoubleWrite Buffer到HDD,percona或mariadb版本支持将双写buffer从系统表空间独立出来,因其是顺序IO,如原生mysql可以将系统表空间放在HDD上;
2、存放事务日志(默认为ib_logfile0-1文件)到HDD,顺序IO操作;
3、存放二进制日志到HDD,顺序IO操作;
4、临时表空间使用tmpfs文件系统(放到内存),因涉及大量的写操作,如没有足够的内存,可以使用/tmp;
5、分配足够大的Buffer Pool,有效的消除SSD的IO,提高SSD寿命;
6、大的Innodb Log文件(如总共10GB大小),能够延时写,更多的逻辑写合并到单一的物理写,SSD能更快的进行crash恢复;
7、使用压缩,减少数据写到表空间;
8、使用更高压缩比的存储引擎,如TokuDB;
提到的一些方法,需要根据业务本身情况进行综合测试,同时使用SSD需要考虑成本与性能比。
参考:
1、Inexpensive SSDs for Database Workloads:
http://www.mysqlperformanceblog.com/2013/10/03/inexpensive-ssds-database-workloads/
2、Configuration of the Doublewrite Buffer:
http://www.percona.com/doc/percona-server/5.5/performance/innodb_doublewrite_path.html?id=percona-server:features:percona_innodb_doublewrite_path