摘要:    今天我们有幸抢鲜测试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. iPad Air 2全然评測:可怕的三核CPU、六核GPU

    在了解了三核心A8X的基本情况后.我们再来通过測试数据,全面地了解一下iPad Air 2的性能表现,包含CPU.GPU.存储.电池.屏幕.摄像头.导航等等. [CPU性能測试:三核太可怕了] 移动处 ...

  2. Java HmacSHA1算法

    Java HmacSHA1算法 public static String hmacSha1(String src, String key) { try { SecretKeySpec signingK ...

  3. django之创建第8-2个项目-数据库数据提取之过滤操作符相关

    """1)age__gt = 16等价于age > 162)age = 163)age__gte = 16等价于age >= 164)name__contai ...

  4. CPLSetErrorHandlerEx函数Bug

    CPLSetErrorHandlerEx(gdal/gdal/port/cpl_error.cpp,当前github中代码)当前函数实现如下 CPLErrorHandler CPL_STDCALL C ...

  5. nmap简单使用

    探测同网段ip的存活及开放端口很方便-nmap,行千里者半九十,在于恒心! Nmap 7.40 ( https://nmap.org ) Usage: nmap [Scan Type(s)] [Opt ...

  6. 使用PowerDesigner生成SQL语句

    0.我使用的PowerDedigner的版本如下: 1.tools>>Resource>>DBMS,然后选中你的数据库版本,双击或点击左上角的properties. 2.再选择 ...

  7. CSS3 flex的使用方法

    display:flex; align-items://水平对齐方式 justify-content://垂直对齐方式 flex://盒子所占大小(如果你盒子里面只有两个div,那么你设置其中之一个f ...

  8. android中的目录结构介绍

      Google Android手机的软件为了安全性和稳定性都是默认安装到手机内存里,但是手机内存有限,所以我们会做app2sd操作,来让我们安装的软件放到sd卡上,这个操作是需要rom的支持的.   ...

  9. apache kafka系列之Producer处理逻辑

     最近研究producer的负载均衡策略,,,,我在librdkafka里边用代码实现了partition 值的轮询方法,,,但是在现场验证时,他的负载均衡不起作用,,,所以来找找原因: 下文是一篇描 ...

  10. nginx 实现valid_referer全面解析

    先来补充点知识,然后在进行讲解. 先看下两种HTTP head 一个是直接输入网址打开的head,另一个是通过搜索引擎打开的网址head 一:直接输入网址打开的 (Request-Line)  GET ...