全部博文(137)
分类: Mysql/postgreSQL
2010-02-23 12:10:23
如何提高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 = '随机';
测试结果如图,完成时间比较:
每秒执行次数比较:
二、使用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
测试结果,按执行时间比较:
从测试的结果可以看出,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。