针对GNU/Linux系统
优化总结:
关闭选项
不记录访问时间(/etc/fstab 加入noatime),提示5%-10%性能
参数设置
文件系统预读(innodb_flush_method=O_DIRECT:随机写入性能高;Fdatasync:顺序写入/读取性能高),由BP控制
操作
删除大表:对ibd建立硬链接(ln tb.ibd /tmp/tb.ibd.bak)。增加表.ibd的inode数量
如果inode大于1,只删除指向inode的指针;如果=1时,需要清除文件相关的数据块,性能低
数据库最好使用报表型文件系统,崩溃后检查性能高
ext3, XFS, JFS, ReiserFs
可以禁用innodb_doublewrite,文件系统能防止partition write
XFS?
不太重要的数据(日志等)
使用非日志文件系统ext2.原因:不记录日志
另外:注意文件系统在系统启动时的挂载时间
文件系统重要的参数
ext3(比ext2增加日志记录)
Date=writeback | ordered | journal
writeback:只有元数据写入被记录日志。写入性能高,但元数据可能与内容数据不一致
ordered:写入内容数据后才写入元数据。安全性高
ext2
data block:所支持的block的大小有1KB,2KB,4KB
参考
FLUSH_METHOD:http://www.orczhou.com/index.php/2009/08/innodb_flush_method-file-io/
ext2:http://blog.csdn.net/ljianhui/article/details/8604140
http://vbird.dic.ksu.edu.tw/linux_basic/0230filesystem.php#link
LINUX上MYSQL优化三板斧