摘要:    今天我们有幸抢鲜测试AliSQL,直接拿来和MySQL 5.7.15对比看看。 AliSQL刚宣布开源,我就提交申请内测名额,节前收到开放内测邀请,于是第一时间进行了测试了解,希望能给大家提供一些参考。

1、导读

有幸抢鲜测试AliSQL,直接拿来和MySQL 5.7.15对比看看。AliSQL刚宣布开源,我就提交申请内测名额,节前收到开放内测邀请,于是第一时间进行了测试了解,希望能给大家提供一些参考。

2、关于性能

本次仅用sysbench进行测试,还没用tpcc做对比,因此测试方案不是太周全。稍后会再发布tpcc的测试结果。

a、sysbench采用update_non_index.lua模式测试

b、sysbench采用oltp.lua模式测试

从测试结果来看,AliSQL在sysbench的update_non_index方案下并发超过64线程后就呈现优势了。不过在olto模式下,一直没有优势(有可能在更高并发模式下会扳回来,以后有机会再验证)。请教了下丁奇,原来AliSQL特别针对写多读少的业务场景模式进行了优化,所以在AliSQL的github官网上才建议采用update_non_index模式进行对比测试。

备注0:为什么选择MySQL 5.7.15版本进行对比测试

MySQL 5.7已经GA,也到了15小版本。有些比较激进的5.7刚出来没多久就已经用上了,当5.7在性能和功能上都有很大优势时,我们为什么不选用呢?这就是我为什么直接选择5.7.15来进行对比的原因。等我做完tpcc测试后,有可能也会拿官方或Percona 5.6版本再做个对比测试。

备注1:sysbench测试方案

--max-requests=0
--max-time=900
--oltp_tables_count=20
--oltp_table_size=200000
--report-interval=10
--num-threads=$count
--oltp-read-only=off 
--rand-type=uniform

备注2:测试机配置

CPU: Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz
OS kernel: CentOS 7.2.1511, 3.10.0-327.28.3.el7.x86_64
Memory: 96G
Disk: PCIe SSD

3、关于功能

AliSQL此次开源的版本,新增了下面这些功能:

  1. SELECT FOR UPDATE WAIT
  2. THD memory usage monitor
  3. DDL fast fail
  4. Support big column compress
  5. Innodb_rseg table to display the rollback information.
  6. Thread running control
  7. Kill idle transactions
  8. table/index statistics
  9. Throttle InnoDB IOPS for sql statement
  10. SQL filter
  11. Relax gtid limitation for some statements

这些功能都是非常实用的,尤其是对类似电商或提供RDS服务的平台帮助非常大。不过,我们也注意到这里面有些功能在MariaDB/Percona分支版本中同样具备或能找到替代方案。此外,它在性能方面所做的改善有:

  1. redo log写优化
  2. 部分锁拆分等优化
  3. 集成了jemalloc
  4. 众多InnoDB优化工作,包括合并AIO请求,buffer pool优化、并发线程控制优化、只读事务优化、InnoDB表锁优化、自适应哈希索引(AHI)优化等等
  5. GTID优化

能看得出来,这些优化工作也确确实实是从日常的业务痛点中得到的体验所做出来的改变。

4、写在最后

最后我想说的是,AliSQL这次开源的姿态不错,不过还是没达到之前的预期,放出来的版本至少从功能上看还是有些保留的,期待未来的版本能更具诱惑力,嘿。至于是否选用AliSQL,我想这是个见仁见智的问题。被MySQL 5.7新特性吸引的话,我想是时候开始尝鲜了。如果不想用MySQL 5.7的话,AliSQL相比MySQL 5.6还是有很大优势的,和MariaDB/Percona相比,也是有一些优势的。无论如何,我们还是要感谢AliSQL带给我们的新选择。

参考:AliSQL GitHub官网:https://github.com/alibaba/AliSQL (目前还是私有项目)

AliSQL 5.6.32 vs MySQL 5.7.15抢鲜测试的更多相关文章

  1. mysql 5.6.15升级到5.6.43

    今天闲来无事,观察测试环境的zabbix服务器,发现内存泄漏严重,于是重启了,想起了前几天写的帖子发生了严重的内存泄漏可以把mysql升级到最新的小版本 于是乎就试着升级 old version:5. ...

  2. MySQL全面瓦解15:视图

    概述 很多时候,我们会有一些很复杂的数据库操作,比如整合用户的行为数据,那这些数据可能包含用户的餐饮.生活日用.充值消费.交通出行.通讯物流.交通出行.医疗保健.住房物业.运动健康... 基于此,我们 ...

  3. 白日梦的Elasticsearch实战笔记,32个查询案例、15个聚合案例、7个查询优化技巧。

    目录 一.导读 三._search api 搜索api 3.1.什么是query string search? 3.2.什么是query dsl? 3.3.干货!32个查询案例! 四.聚合分析 4.1 ...

  4. 在mysql数据库中制作千万级测试表

    在mysql数据库中制作千万级测试表 前言: 最近准备深入的学一下mysql,包括各种引擎的特性.性能优化.分表分库等.为了方便测试性能.分表等工作,就需要先建立一张比较大的数据表.我这里准备先建一张 ...

  5. Centos 6.4上面用Shell脚本一键安装mysql 5.6.15

    Centos 6.4上面用Shell脚本一键安装mysql 5.6.15  #!/bin/bash if [ `uname -m` == "x86_64" ];then machi ...

  6. mysql 5.7.15 安装配置方法图文教程(转)

    http://www.jb51.net/article/92521.htm ******************************* MySQL数据库作为关系型数据库中的佼佼者,因其体积小,速度 ...

  7. windows 系统如何安装 mysql 8.0.15 数据库?

    windows 系统如何安装 mysql 8.0.15 数据库? 1. 下载安装包 下载地址:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0. ...

  8. MySQL 8.0.15 配置 MGR单主多从

    转载自:http://www.cnblogs.com/zhangzihong/p/10443526.html 一.简介 MySQL Group Replication(简称MGR)字面意思是mysql ...

  9. CentOS源码编译安装MySQL 5.5.15

    CentOS源码编译安装MySQL 5.5.15   文章目录 [隐藏] 安装编译工具 下载源码 安装cmake和bison 编译安装MySQL 一些相关设置 安装编译工具 yum install g ...

随机推荐

  1. (素材源代码) 猫猫学iOS 之UIDynamic重力、弹性碰撞吸附等现象牛逼Demo

    猫猫分享,必须精品 原创文章,欢迎转载. 转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243 一:效果 二:代码 #import "ViewCon ...

  2. Android学习笔记四:activity的四种启动模式

    Activity有四种启动模式:standard,singleTop,singleTask,singleInstance. 1.standard:标准启动模式 默认模式,这个模式下启动的Activit ...

  3. Linux下使用logrotate实现日志切换

    运维过程中经常会发现一些 C 程序,每天会生产这样的日志: /home/admin/app_name/logs/access_log 那么天长地久,如果这个程序不会自动去轮转这个日志,那么这个日志文件 ...

  4. 【Linux】循环控制及状态返回值break、continue、exit、return

    一.break.continue.exit.return的区别和对比 break n     :如果省略n,则表示跳出整个循环,n表示跳出循环的层数 continue n:如果省略n,则表示跳过本次循 ...

  5. 【Linux】awk详细介绍

    awk简介 awk是一种使用方便且表现力很强的编程语言,它可以应用在多种不同的计算与数据处理任务中.由于awk天生提供对文件中文本分列进行处理,所以如果一个文件中的每行都被特定的分隔符(常见的是空格) ...

  6. Knockout学习之控制流绑定器

    控制流绑定器 “foreach”绑定 顾名思义,通过该绑定我们就可以将监控数组循环输出到页面中去了,当然我们还是先来段简单的示例,仅仅只是输出监控数组: <ul data-bind=" ...

  7. 给mysql配置phpmyadmin可视化管理工具

    1.配置IIS管理器1.控制面板——程序——程序和功能——启用或关闭windows功能并稍稍等候2.internet information services3.勾选ftp服务器.web管理工具.应用 ...

  8. excel快速访问工具栏和自定义选项卡

    自定义选项卡: excel命令选项--自定义功能区--

  9. SSM框架搭建总结(2)

    一.开发环境搭建 1.本地jdk安装及配置环境变量 2.本地tomcat安装 3.本地maven安装 3.1 maven安装 3.2 maven数据仓库配置settings.xml 4.本地安装SVN ...

  10. 【MySQL】局域网内:在一台电脑访问另一台电脑的mysql数据库

    1. 假设192.168.1.3为服务器2. 首先在ip为192.168.1.103的机子上能够ping 通运行->cmd>ping 192.168.1.3检查是否能ping通3. 把两台 ...