MySQL 5.6.17/Percona5.6.16/MariaDB 10.0.11/OneSQL 5.6.16 TpmC测试

近日花了点时间对几个分支版本进行对比测试,包括了:MySQL 5.6.17、Percona5.6.16、MariaDB 10.0.11、OneSQL 5.6.16。

1、测试基准
测试工具: tpcc-mysql
测试Warehouse数: 10/100
warmup time: 120s
run time: 1800s
并发线程数: 64 ~ 1920
2、测试环境:
OS:RHEL 6.4
内核:2.6.32-358.el6.x86_64
磁盘:INTEL SSDSC2BA800G3
3、MySQL配置:
innodb_buffer_pool_size = 26G
sync_binlog = 0
innodb_flush_log_at_trx_commit = 1/3 #OneSQL设置为3,其他设置为1
tcc_max_transaction_concurrency = 64 #OneSQL设置

tpcc-mysql测试脚本可以参见我以前的一个分享:分享:服务器基准测试 或者 MySQL压力测试经验(放在slideshare上,需要翻)

下面是测试结果:

MySQL 5.6.17/Percona5.6.16/MariaDB 10.0.11/OneSQL 5.6.16 TpmC测试

MySQL 5.6.17/Percona5.6.16/MariaDB 10.0.11/OneSQL 5.6.16 TpmC测试

针对上面测试结果的说明:

结论:
1、在256并发以内的情况下,看起来MariaDB拥有绝对优势,应该和它的thread pool有很大关系;
2、OneSQL在100DW模式下,并发1792的拐点应该是个意外(其他测试循环中未出现该拐点),原因不明,可以忽略;
3、tpcc测试模式下,数据量越小、并发越高,则TpmC越低,因为竞争太厉害了,这方面OneSQL表现绝对优异,并发量变化很大对TpmC的影响很小;
建议:
1、是时候改成MariaDB了,因为它集成了XtraDB,已经超越Percona了;
2、如果没有特别的理由,可以不用官方版本了;
3、如果对楼方鑫的分支感兴趣并且可以放心上线的话,强烈推荐使用;

MySQL 5.6.17/Percona5.6.16/MariaDB 10.0.11/OneSQL 5.6.16 TpmC测试》上有9条评论

  1. 风舞者

    楼方鑫的分支好是好,,但一点说明文档都没有,基本的安装都不给,这太……..

  2. yejr 文章作者

    他直接提供了mysqld二进制文件,其他使用方法和正常无异,特殊的配置参数可以show global variables like ‘tcc_%’ 相关的几个,基本上可以用默认参数。你的建议我也会向他反馈的 :)

  3. Pingback引用通告: MySQL 5.6.17/Percona5.6.16/MariaDB 10.0.11/OneSQL 5.6.16压测瓶颈分析 | MySQL中文网 – 叶金荣的技术和生活

  4. 小白

    Percona 5.6 也带有threadpool,而且是基于Mariadb的代码,并且经过改良,更适合在高并发事务的场景。Mariadb用的是基于Percona的xtradb引擎,但是从测试结果来看,两者的性能相差太大了吧,这不科学。
    虽说,Mariadb用的是自己的query optimizer,Percona用的是mysql的query optimizer,但我不认为这会对测试结果产生很大的影响

  5. yejr 文章作者

    二者的并发锁管理实现方式也大不一样,所以性能相差不小,thread pool只是一小部分。

  6. Pingback引用通告: TPCC-MySQL基准测试 | Debugo

发表评论

电子邮件地址不会被公开。

Time limit is exhausted. Please reload CAPTCHA.