分享好友 最新动态首页 最新动态分类 切换频道
详解GaussDB for MySQL性能优化
2024-12-27 18:08

我们先来看看MySQL 8.0的事务提交的大致流程

以上流程,是MySQL8.0对WAL原则的一种实现,这个流程意味着,任何一个事务的提交,一定要完成write buffer和flush to disk流程。

然而那么这个流程中,有一个问题:每个服务器的CPU是有限的,服务器能处理的Thread也是有上限的,那么当我们的业务的并发数量,远远大于我们服务器能并行处理的数量时,那么后来的事务,只能等待前面的事务提交后才能被处理。在这之前,他们什么也做不了。因此,在大并发场景下,如何进一步提升线程的使用率,是大并发事物写入的一个关键。

一个优化,并不是凭空想象出来的,有时候,往往来源于现实生活。下面,我们先来看看我们身边,和事务提交流程非常类似的一个例子:快递。

现在的快递配送,一般一个快递员会负责一片区域,快递刚开始兴起时,数量不多,那么一个快递员基本上可以在规定时间内完成配送。

但是,随着快递数量越来越多,一个快递员要在一个小区配送很长的时间,才能到下一个小区,常常导致了快递员无法准时的配送。在这个问题的催动下,随后,一个新的行业开始出现 – 快递驿站。

接下来,让我们来看下,快递驿站究竟解决了什么问题。

快递的配送过程中,最耗时的,不是装货,不是卸货,而是电话和等待。配送一个小区的时间,取决于这个最后一个来取快递的人的时间,在最后一个人取完快递钱,快递员除了打电话,做不了其他任何事情(也没有办法通知下一个小区的人,因为最后一个人来取得时间是无法确定的)。那么这个等待的时间,对于快递员来说,就是一种浪费。

快递驿站可以很大程度解决这个问题,快递员到了以后,只需要将快递卸货,即可前往下一个小区,剩下的事情,就可以由驿站的人员来完成,大大提升了快递员的配送效率。

分析

回过头来,我们看看数据库,如果把Transaction线程看做快递员,存储上的文件看做取快递的人,那么我们会发现两者有非常大的相似性。那么我们可以像快递配送优化那样去优化事务的处理流程吗?答案是可以的。

根据快递驿站的优化原理,我们知道,快递驿站帮快递员免去了等待客户取货的时间,那么事务处理过程中,有没有等待的过程呢?答案是有的,存储的IO就是一个较长的等待。数据库使用经验丰富的开发人员来都知道,等待redo日志写入存储的磁盘IO性能,很大程度上决定了数据库的写入性能。对于现代数据库来说,尤其对于GaussDB(for MySQL)这样计算于存储分离的数据库,存储的IO耗时,在事务处理的总耗时中,占据了不小的比例,虽然有log buffer的合并写入,提升并发情况下的整体吞吐,但是如果在等待IO的这段时间中,这些线程能够去做别的事情(例如处理等待中的其他事务)。那么将会有进一步的性能提升。

既然找到了等待的点,那么我们就可以像快递配送的优化方法,为数据库,也创造一个“快递驿站”,让“快递驿站”来做等待的事情,而事务线程就可以去处理其他等待中的事务,让CPU不会“闲下来”。

如图5所示,GaussDB(for MySQL)当redo日志的flush to disk动作完成后,即可进行事务提交,但是此时并不应答客户端,而是直接处理下一个事务。同时使用少量”post comit worker线程”,来批量等待日志写入完成(等待的过程其实并不占用CPU),并应答客户端,这就可以让“等待”和“下一个事务的处理”并行化,让CPU“闲不下来”。

根据实际测试,在标准的sysbench写入模型下,没有使用Post Commit时,极限性能是35万QPS左右,而使用Post commit后,可以到大42万以上的QPS,提升了20%的写入性能。

最新文章
济南NOIP信息学奥赛活动课咨询热线:   在线咨询: 点击交谈
济南NOIP信息学奥赛信息 济南NOIP信息学奥赛活动课是济南青少儿教育品牌,形成了以乐高创意启蒙课程、人工智能编程、智能机器人编程、信息学奥赛编程等课程体系为核心,集国内外大型权威科技赛事、少儿资格认证考试、科技主题的国内外游学
淘宝刷单秒拍对号好吗?怎么刷不影响?(淘宝店铺装修有哪些步骤?具体怎么做?)
浏览量:576,转发量:39,阅读时长:552分钟,米境通跨境电商ERP淘宝刷单秒拍对号好吗?怎么刷不影响?在线百度查询10小时33分钟前更新,已被438人点赞淘宝刷单秒拍对号好吗?怎么刷不影响?在线360查询23小时14分钟前更新,已被1608人点赞淘宝
置顶微信小商店如何结合公众号推广引流精选热门
微信小商店目前已经支持小商店与微信公众号打通,并通过公众号的推广提高曝光、引流。本文主要介绍如何实现公众号推广。首先,需要将小商店与公众号进行关联,实现两者之间的打通。在公众号后台的【小程序管理】中点击【添加】——【关联小
用AI绘制出我的梦幻女友!免费体验超逼真美女写真的秘密
Artbreeder:这款工具以“生成对抗网络”的技术为基础,可让用户通过调整现有图像的特征生成新的艺术作品。其最大的优势是,用户可以对生成的照片进行细微调整,创建个性化的人物形象。不过,初次使用可能会觉得上手困难,需要一定时间熟悉
谷歌三星「合体」,宣战苹果,要啃头显「硬骨头」!
12月13日,谷歌联合三星,重磅推出全新Android XR操作系统,专门为头显设备和智能眼镜提供多种自然交互方式。此外,谷歌还正在研发*基于Android XR系统的头显设备Project Moohan,硬件将由三星制造。1、两大巨头“合体”此次谷歌联合三星开
计算器无广告
计算器无广告是一款专门为用户提供了专业计算器服务工具的软件,能够帮助用户进行便捷精准的计算,主要是为用户提供高效、精准且便捷的计算体验,无论是日常简单运算,还是专业复杂的数学处理,软件都能够帮助用户进行便捷精准的计算服务,
wwwstreamsex.com的Whois信息
clientLock ······································注册商锁定serverLock ·······························注册局锁定renewPeriod ············注册商
超逼真美女写真生成工具测评:AI绘画新时代的奇迹
Artbreeder:该工具允许用户通过混合已有图像来生成新的面孔,只需简单的调节外观参数,便能够得到满意的结果。相比其他工具,Artbreeder更容易上手,适合初学者,但其生成的作品在细节上可能无法与DALL-E 2和Midjourney相提并论。深梦生成
谷歌浏览器 绿色版Beta v55.0.2883.52进入百科
1.界面简洁明了,操作简单便捷 Chrome浏览器的界面设计完全突出了简易这一特点,将浏览器的界面简化到极致,对于用户的常用功能,却又简单容易查找。2.超级迅速的页面打开速度 一次性打开几十个页面,Chrome可以在几十秒内加载完毕,等用户
成都少儿编程-少儿编程品牌18年咨询热线:   在线咨询: 点击交谈
成都少儿NOIP编程竞赛信息 成都少儿编程-少儿编程品牌18年是成都青少儿教育品牌,形成了以乐高创意启蒙课程、人工智能编程、智能机器人编程、信息学奥赛编程等课程体系为核心,集国内外大型权威科技赛事、少儿资格认证考试、科技主题的国内
相关文章
推荐文章
发表评论
0评