摘要: 今天我們有幸搶鮮測試AliSQL,直接拿來和MySQL 5.7.15對比看看。 AliSQL剛宣布開源,我就提交申請內測名額,節前收到開放內測邀請,於是第一時間進行了測試了解,希望能給大家提供一些參考。
1、導讀
有幸搶鮮測試AliSQL,直接拿來和MySQL 5.7.15對比看看。AliSQL剛宣布開源,我就提交申請內測名額,節前收到開放內測邀請,於是第一時間進行了測試了解,希望能給大家提供一些參考。
2、關於性能
本次僅用sysbench進行測試,還沒用tpcc做對比,因此測試方案不是太周全。稍后會再發布tpcc的測試結果。
a、sysbench采用update_non_index.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測試方案
備注2:測試機配置
3、關於功能
AliSQL此次開源的版本,新增了下面這些功能:
- SELECT FOR UPDATE WAIT
- THD memory usage monitor
- DDL fast fail
- Support big column compress
- Innodb_rseg table to display the rollback information.
- Thread running control
- Kill idle transactions
- table/index statistics
- Throttle InnoDB IOPS for sql statement
- SQL filter
- Relax gtid limitation for some statements
這些功能都是非常實用的,尤其是對類似電商或提供RDS服務的平台幫助非常大。不過,我們也注意到這里面有些功能在MariaDB/Percona分支版本中同樣具備或能找到替代方案。此外,它在性能方面所做的改善有:
- redo log寫優化
- 部分鎖拆分等優化
- 集成了jemalloc
- 眾多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 (目前還是私有項目)