zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

【阿里云资讯】AliSQL 5.6.32 vs MySQL 5.7.15抢鲜测试

mysqlvs测试阿里 15 32 资讯 5.7
2023-09-14 09:00:25 时间

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

2、关于性能

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

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

b55a59c6cee7d9a776e0d3e0457b12d9c95d1b6e

16c0a7aebf8076cf2234c81a44d18781da1cd1c6
24cfa1975cc46ad4fb01033fa0e7cb261d20da07

从测试结果来看,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此次开源的版本,新增了下面这些功能:


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


众多InnoDB优化工作,包括合并AIO请求,buffer pool优化、并发线程控制优化、只读事务优化、InnoDB表锁优化、自适应哈希索引(AHI)优化等等
GTID优化

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

4、写在最后

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

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


在阿里云Centos7.6上面配置Mysql主从数据库(master/slave),实现读写分离 在之前的一篇文章中,阐述了如何在高并发高负载的场景下使用nginx做后台服务的负载均衡:[在阿里云Centos上配置nginx+uwsgi+负载均衡配置](https://v3u.cn/a_id_77),但是不要以为这样做了就是一劳永逸的,到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器负载,如此多的数据库连接操作,数据库必然会崩溃,数据库如果宕机的话,后果更是不堪设想。这时候,我们会考虑如何减少数据库的连接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:redis,如果资金丰厚的话,必然会想到架设mysql服务集群,来分担主数据库的压力。今天