MySQL 5.6 vs MariaDB 5.5 vs Percona(5.5 & 5.6) 之TPCC性能测试
一、简述
是由原来 MySQL 的作者 Michael Widenius 创办的公司所开发的免费开源的数据库服务器。MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体。这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX 存储引擎。(摘自:http://baike.baidu.com/view/2521908.htm)
简单的说:MariaDB是MySQL的一个变种,可以作为官方MySQL版本的一个替代品,并且在一些特性上做了增强。
MariaDB的官网见:http://mariadb.org
二、测试环境
2.1 详细测试环境见下图:
2.2 自动化测试脚本例子见下:
#!/bin/sh #export LD_LIBRARY_PATH=/usr/local/mysql/lib/ . ~/.bash_profile >/dev/null 2>&1 BASEDIR="/home/tpcc-mysql" cd $BASEDIR mkdir -p $BASEDIR/logs exec 3>&1 4>&2 1>> tpcc.log 2>&1 #执行tpcc测试的数据库IP DBIP=localhost DBUSER='root' DBPASS='' #测试模式:1000个仓库 WIREHOUSE=1000 DBNAME="tpcc${WIREHOUSE}" #数据预热时间:120秒 WARMUP=120 #执行测试时长:1小时 DURING=3600 #测试模式 MODE="percona55_innodb_buf26G_1bp_1000dw_xfs_deadline_6disk_raid10" #初始化测试环境 if [ -z "`mysqlshow -h$DBIP -u$DBUSER -p$DBPASS|grep -v grep|grep \"$DBNAME\"`" ] ; then mysqladmin -h$DBIP -u$DBUSER -p$DBPASS -f create $DBNAME mysql -h$DBIP -u$DBUSER -p$DBPASS -f $DBNAME /proc/sys/vm/drop_caches; /etc/init.d/mysql start; sleep 60 #开始执行tpcc测试 ./tpcc_start -h $DBIP -d $DBNAME -u $DBUSER -p "${DBPASS}" -w $WIREHOUSE -c $THREADS -r $WARMUP -l $DURING -f ./logs/tpcc_${MODE}_${NOW}_${THREADS}_THREADS_${CYCLE}.res >> ./logs/tpcc_runlog_${MODE}_${NOW}_${THREADS}_THREADS_${CYCLE} 2>&1 done CYCLE=`expr $CYCLE + 1` done
2.3 重点配置选项差异对比
三、测试结果
备注:
独享是指:使用独立表空间模式; 1bp/8bp 分别指:设置innodb buffer pool instance为1或者8。
3.1 TPCC数据初始化对比
3.2 TpmC结果对比
本次对比测试中,在模式 "percona 5.6.6-m9-56(独享,1 bp)"(黄色底) 下的综合TpmC效率最高。因此也直接以它为基准,对比了其他几种测试模式的TpmC效率。
四、小结
本次只做了TpmC简单对比基准测试,MySQL 5.6以及MariaDB所宣称的各种改进以及特性暂未关涉及。
从测试结果来看,Percona 5.6的性能仍然有较大优势;另外,和以前版本对比,在一定线程数之内,并发线程数越多,TpmC效率也越高。
评论
你的对面 (未验证)
周四, 2012/10/11 - 01:42
Permalink
报告不错,学习中。
报告不错,学习中。
dingjhzt (未验证)
周二, 2012/10/23 - 16:40
Permalink
学习学习
学习学习
dengfeng (未验证)
周六, 2013/10/12 - 15:18
Permalink
能推荐或写一篇有关mysql各种基本测试方法的文章吗
能推荐或写一篇有关mysql各种基本测试方法的文章吗?正在测mysql,没有头绪!
yejr
周二, 2013/10/15 - 00:19
Permalink
请参考这篇: http://imysql.com/2012
请参考这篇:分享:服务器基准测试 分享:服务器基准测试