全面解析:腾讯 CDB 内核特性与优化实践 - III.TxSQL 深度优化
最编程
2024-04-10 17:33:27
...
① 主从复制全链路优化
这个会在后面作为一个点单独来讲,比如说在主从复制中、优化过程中,还有很多其他环节中做了哪些优化,有什么效果。
② ReadView 优化
第二个是 ReadView 的优化,在最新的 MySQL 5.7.14 版本中,MySQL 官方已经有这个优化。
③ Redo Log Buffer 锁拆分
简单讲就是以前会有一把大锁去共享这个 Redo Log Buffer、去读写字段,然后都会频繁竞争这把锁,这就会导致在大并发的量下产生较大的性能开销。
④ Logical Clock(MTS)
Logical Clock,就是 MTS(multi-threaded slave)。传统的官方 MySQL 版本是 slave 去回放,master 同步 Binlog 过来的时候,都是单线程的模式,到 5.6 以后就变成了并行。
TxSQL上做了一些正式的优化,按临界事务提交的这个区间,只有不同的事务没有的情况下去竞争或者在同一个资源上的时候竞争,相当于把它的粒度拆分到最细。
⑤ Thread Pool
有关 Thread Pool 的功能,在 MySQL 中,一般情况下是产生一个连接就会去建一个线程,该线程用 node 连接,这个可能跟早期的 Apache 一样。
⑥ Redo Group Commit
Redo Group Commit,简单的理解就是因为 TxSQL 是 IO 密集型的服务器,对于服务器,最致命的东西就是 IO、磁盘,使用传统的机械硬盘又需要转磁头以定位到扇区,而这些东西的开销都很大,因此这个功能就是为了减少磁盘寻道和寻址的开销。
接下来从三个维度去介绍 TxSQL 所做的改进,分别是高性能、强一致和工程化。