轉自老葉,原文:http://imysql.com/2012/10/08/mysql-vs-mariadb-vs-percona-tpcc-testing.html
一、簡述
是由原來 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>&1BASEDIR="/home/tpcc-mysql"cd $BASEDIRmkdir -p $BASEDIR/logsexec 3>&1 4>&2 1>> tpcc.log 2>&1#執行tpcc測試的資料庫IPDBIP=localhostDBUSER='root'DBPASS=''#測試模式:1000個倉庫WIREHOUSE=1000DBNAME="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>&1doneCYCLE=`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效率也越高。