誉天 Cisco / Linux 认证社区 /BBS
Mysql数据库文件系统及IO调度算法的选择
文件系统对于 IO 性能来说有着不小的影响,选择合适的文件系统可以最大化的发挥硬件能力,提
高数据库性能。
Linux 上常用的文件系统有 ext3,xfs,jfs,reiserfs 等。ext4,btrfs 等牛 x 的新文系系统,由
于还是太新了,我还不敢用到生产环境中。ext3 和 reiserfs 之前看过一些测试资料,对于数据库
应用性能都比较一般,这里就不测试了。
这里主要测试 XFS 和 JFS 的性能对比,版本如下:
db2:~/tpcc-mysql# mkfs.xfs -V
mkfs.xfs version 2.9.8
db2:~/tpcc-mysql# mkfs.jfs -V
mkfs.jfs version 1.1.14, 06-Apr-2009
其他的测试资料:
XFS, Reiser, JFS & ext3 performance on Suse 9 Enterprise
Mysql如何选择文件系统?(ext4 vs ext3 vs jfs vs xfs vs reiserfs性能比拼)
IO调度算法(IO Schedulers )的选择也会对 IO 性能有不小的影响,不同的应用需要选用不
同的 IO 调度算法,以达到最好的性能。怎么选择?在实际的应用环境中进行测试,比如是很多小
文件的图片服务器或者大文件的下载服务器,与数据库使用的策略可能就是不一样的。
武汉誉天.独家授权Cisco / RHCE培训
誉天 Cisco / Linux 认证社区 /BBS
查看当前的 IO 调度:
db2:~# cat /sys/block/sdb/queue/scheduler
noop anticipatory [deadline] cfq
修改 IO 调度:
echo "deadline" > /sys/block/sdb/queue/scheduler
最好是确定选择后加到系统启动参数中,这样可以永久生效。
# vi /boot/grub/menu.lst
title
Debian GNU/Linux, kernel 2.6.26-2-amd64
root
(hd0,0)
kernel
/boot/vmlinuz-2.6.26-2-amd64 root=/dev/sda1 ro quiet elevator deadline
initrd
/boot/initrd.img-2.6.26-2-amd64
Linux IO 调度算法的详细说明请放狗找“linux IO Schedulers ”
武汉誉天.独家授权Cisco / RHCE培训
誉天 Cisco / Linux 认证社区 /BBS
一、Mysqlslap 测试:
mysqlslap是 mysql 自带的一个测试工具,这里使用的是默认的 f,测试脚本如下:
#vi mysqlslap_benchmarks.sh
/opt/mysql/bin/mysqld_safe &
sleep 10
echo "innodb test "
/opt/mysql/bin/mysqlslap -u root -h localhost -c 10,50,100,200,400 -i 2 --engine=innodb
--auto-generate-sql-load-type=mixed --number-of-queries=50000 --number-char-cols=5
--number
-int-cols=5 --auto-generate-sql
echo "myisam test "
/opt/mysql/bin/mysqlslap -u root -h loc