摘要:    今天我们有幸抢鲜测试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. Keepalived系列一:安装Keepalived

    1:简介 它是一个基于VRRP协议来实现的WEB服务高可用方案,可以利用其来避免单点故障.一个WEB服务至少会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(B ...

  2. Spring Boot 之 RESTfull API简单项目的快速搭建(二)

    1.打包 -- Maven build 2.问题 [WARNING] The requested profile "pom.xml" could not be activated ...

  3. 记:青岛理工ACM交流赛筹备工作总结篇

    这几天筹备青岛理工ACM交流赛的过程中遇到了不少问题也涨了不少经验.对非常多事也有了和曾经不一样的看法, ​一直在想事后把这几天的流水帐记一遍,一直没空直到今天考完C++才坐下来開始动笔.将这几天的忙 ...

  4. oracle批量更新之使用游标进行分批次更新的5种方式及速度比对

      1.情景展示 一共有22w条数据, 需要将A表的主键更新至B表的指定字段,如何快速完成更新? 2.解决方案 声明: 解决方案不只一种,该文章只介绍快速游标法及代码实现: 两张表的ID和ID_CAR ...

  5. Echarts折线图点击事件

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  6. scala object 转Class Scala强制 类型转换

    scala object 转Class Scala强制类型转换   asInstanceOf[T] 将对象类型强制转换为T类型. 还是由于泛型存在类型擦除的原因,1.asInstanceOf[Stri ...

  7. 安装win和xp双系统 若干问题

    装了winxp和linux双系统,后先在winxp下手动格式化了linux系统,后启动时提示grub错误,重新分区后系统也 2010-09-17 21:07 [清风剑] | 分类:Linux | 浏览 ...

  8. 【laravel5.*】详解laravel中的依赖注入

    1.下面这个是自定义的类,钉钉扫码登录web 网页授权OAuth2.0,是一个典型的依赖注入参考示例:

  9. 使用perf + FlameGraph生成进程火焰图

    FlameGraph代码:https://github.com/cobblau/FlameGraph 使用方法 1,perf record --call-graph dwarf -p 12345 2, ...

  10. saltstack 基础入门文档

    saltstack 和 Puppet Chef 一样可以让你同时在多台服务器上执行命令也包括安装和配置软件.Salt 有两个主要的功能:配置管理和远程执行.这里讲述了saltstack的基本使用方法. ...