如何提高mysql的性能?正确的选择文件系统,绝对是一个有效的方法之一。EXT4已经出现一段时间了,mysql在EXT4下的表现如何?
本文对当前linux几款常用的文件系统(ext4,jfs,reiserfs,xfs,ext3,文件系统的安装可以参考这里)在mysql下的性能进行了测试。

一、使用super-smack测试

测试方式:

time super-smack -d mysql select-update.smack 10 50000 (50 10000,100 5000,200 2500)
read sql : select SQL_NO_CACHE * from test where id = '随机';
write sql: update test set id=id+1 where id = '随机';

测试结果如图,完成时间比较:
mysql_test

每秒执行次数比较:
mysql_test3

二、使用mysqlslap测试

测试方式:

/usr/local/mysql/bin/mysqlslap -u root -p -h localhost -c 10,50,100,200 -i 1 \ 
--engine=myisam --auto-generate-sql-load- type=mixed --number-of-queries=50000 \
--number-char-cols=5 --number-int-cols=5 --auto-generate-sql

测试结果,按执行时间比较:
mysql_test2

从测试的结果可以看出,EXT4的表现并没有想象中这样强悍,和XFS,JFS,REISERFS等差不太多,反而JFS的表现出乎意料,在高并发的情况下,表现最好。查看下JFS的版本,果然是刚出的新版本。
mkfs.jfs -V
mkfs.jfs version 1.1.14, 06-Apr-2009

那么到底应该如何选择呢?

EXT3就不多说了,太老了。REISERFS因为作者入狱了,无法保障更新,所以先PASS。EXT4毕竟新出的,而且内核需要升级的2.6.28以后,还是让其他人先吃螃蟹吧。剩下的选择就是JFS和XFS,JFS有IBM在做后盾,稳定性和后续BUG修正等都比较靠谱,从测试看性能比XFS稍微强一点,所以我觉得JFS应该是首选,然后是XFS。

  • Comments (4)
  • Trackbacks (0)
Leave a comment Trackback

  • logchild 1F

    06月 30th, 2009 at 10:37

    很多会是在NFS上的吧

  • 大头刚 2F

    07月 5th, 2009 at 12:19

    NFS上跑数据库的数据文件?貌似很少有人会这样做吧。
    首先不安全,还有就是NFS性能实在不敢恭维呀

  • popgo 3F

    07月 8th, 2009 at 11:15

    MYSQL文档:数据文件不要用NFS的

  • 排长 4F

    08月 3rd, 2009 at 19:36

    oracle 和mysql 官方,也没有认为nfs是值得信任的啊.

No trackback yet.