Linux MySQL Xfs 与ext3 速度测试

环境 RedHat 5.6 mysql 5.1.5464G 内存 E7 系列cpu 4颗

使用xfs 的文件格式

存储过程

delimiter //create procedure insert_mang_rows (in loops int) begin declare v1 int ; set v1=loops; while v1 >0 doinsert into test.test values(‘qwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww’,’wqqqqqqqqqqqqew’

,’weeeeeeeeeeeeeeeee’,’weeeeeeeeeeeeeeeee’);set v1 = v1 – 1;end while;end;//

myisam 存储引擎 使用存储过程插入100w 行记录

mysql> call insert_mang_rows(1000000);Query OK, 1 row affected (20.10 sec)

使用innodb存储引擎插入100w行、innodb_flush_log_at_trx_commit 为默认值1执行存储过程 ,,出去吃饭回来之后还没有执行完毕,郁闷。

修改下面2个值后重启mysql服务,执行存储过程innodb_flush_method=O_DIRECTinnodb_flush_log_at_trx_commit=0

mysql> call insert_mang_rows(1000000)//Query OK, 1 row affected (38.51 sec)

修改下面2个值后重启mysql服务,执行存储过程innodb_flush_method=O_DIRECTinnodb_flush_log_at_trx_commit=2

mysql> call insert_mang_rows(1000000)//Query OK, 1 row affected (1 min 15.94 sec)

以上都是自动提交即,autocommit=1。

关闭自动提交

set autocommit=0;innodb_flush_method=O_DIRECTinnodb_flush_log_at_trx_commit=2修改存储过程

drop procedure if exists insert_mang_rowsdelimiter //create procedure insert_mang_rows (in loops int) begin declare v1 int ; set v1=loops; while v1 >0 doinsert into test.test values(‘qwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww’,’wqqqqqqqqqqqqew’

,’weeeeeeeeeeeeeeeee’,’weeeeeeeeeeeeeeeee’);set v1 = v1 – 1;end while;commit ;end;//

mysql> call insert_mang_rows(1000000)//Query OK, 0 rows affected (27.50 sec)

以上是使用xfs 的系统格式,下面测试是使用ext3系统格式测试

ext3 格式 innodb 的引擎 和上面的配置是一样测试

myisam 存储引擎测试

myisam 的 ext3

mysql> call insert_mang_rows(1000000)//Query OK, 1 row affected (27.12 sec)

还是比 innodb 的快,但是比xfs 的文件格式要慢

innodb_flush_log_at_trx_commit =2innodb_flush_method=O_DIRECTmysql> set autocommit=1//

mysql> call insert_mang_rows(1000000)//Query OK, 1 row affected (1 min 19.51 sec)

设置不自动提交

mysql> set autocommit=1//

mysql> show variables like ‘auto%’;

+————————–+——-+| Variable_name | Value |+————————–+——-+| auto_increment_increment | 1 || auto_increment_offset | 1 || autocommit | OFF || automatic_sp_privileges | ON |+————————–+——-+4 rows in set (0.00 sec)

mysql> call insert_mang_rows(1000000);Query OK, 0 rows affected (38.81 sec)

经过上面测试可以看到 xfs 的文件格式比 ext3格式要快。关于innodb_flush_method=O_DIRECTinnodb_flush_log_at_trx_commit=2 参数设置请参考

没有了爱的语言,所有的文字都是乏味的

Linux MySQL Xfs 与ext3 速度测试

相关文章:

你感兴趣的文章:

标签云: