之前我进行了MySQL 5.6.17/Percona5.6.16/MariaDB 10.0.11/OneSQL 5.6.16对比基准TPCC压测,从测试结果可以看到在高并发(并发1920线程)模式下,MariaDB的相对优势,也看到了在一般并发场景(并发64线程)模式下,MariaDB拥有绝对优势。
今天我们就来看看这两种模式下,系统负载等性能指标表现,以及各自的瓶颈在哪里,也就能知道为何有这么大差异了。
首先,我们看下并发64线程的对比图表:
再看下并发1920线程的对比图表:
从上面两个图可以看出来几点信息:
结论: |
1、并发64线程时,MySQL的瓶颈在 spin_lock,所以 %SYS 跑的很高,TpmC也上不去; |
2、并发64线程时,Percona次要瓶颈也是 spin_lock,相比之下 %SYS 也较高,TpmC上不去; |
3、并发1920线程时,spin_lock 都是最大的瓶颈,MySQL和Percona的次要瓶颈是lock_rec_has_to_wait_in_queue()函数,因此相对的TpmC也跑不高; |
This post has already been read 13759 times!
想请教下onesql修改了什么内容,为何表现这么好。另外叶老师您认为分支版的onesql是否已经完全可以替代上线使用了呢?
他增加了限流机制,简单说,就是限制MySQL内部事务并发数,确保一个比较平缓的并发事务数被执行,降低内部竞争,以获得比较平稳的TPS表现
问个小白的问题,为什么用64和1920的并发做对比呀
这里对比分析不同并发模型对不同分支的瓶颈点。实际我测试了更多并发模型,只是在这里拿了64、1920不同并发来做对比而已,更快发现性能瓶颈点。