感谢支持
我们一直在努力

Linux MySQL Xfs 与ext3 速度测试

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


使用xfs 的文件格式


存储过程


delimiter //
create procedure insert_mang_rows (in loops int) begin declare v1 int ; set v1=loops; while v1 >0 do
insert 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_DIRECT
innodb_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_DIRECT
innodb_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_DIRECT
innodb_flush_log_at_trx_commit=2修改存储过程


drop procedure if exists insert_mang_rows
delimiter //
create procedure insert_mang_rows (in loops int) begin declare v1 int ; set v1=loops; while v1 >0 do
insert 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 =2
innodb_flush_method=O_DIRECT
mysql> 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_DIRECT
innodb_flush_log_at_trx_commit=2  参数设置请参考 http://dev.mysql.com/doc/refman/5.1/en/innodb-parameters.html

赞(0) 打赏
转载请注明出处:服务器评测 » Linux MySQL Xfs 与ext3 速度测试
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏