分享好友 最新动态首页 最新动态分类 切换频道
详解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%的写入性能。

最新文章
用AI绘画轻松生成超逼真美女写真,这些工具了解一下!
DeepArtDeepArt 是一款基于神经网络的图片生成工具,用户可以上传自己的照片选择不同的艺术风格进行转换,甚至可以创建出风格迥异的美女写真的效果。这款工具的优点在于风格选择的多样性和生成效果的艺术感,但缺点是对计算机配置要求较高
PPT生成的页数灵活可控,内容简洁或详尽随你心意!
在使用 AI 生成 PPT 工具时,你是否遇到过这样的困扰:有的工具生成的 PPT 页数过少,显得内容空洞;有的却一口气生成几十页,让内容过于冗长,难以筛选重点···那么,生成 PPT 时是否能自由设置页数,控制内容详略呢?歌者 PPT 可以做到
外链制胜:免费网盘外链建设终极指南186
## 网站外链建设规划计划 目标受众分析- 目标受众:有外链需求的个人、企业和组织- 需求痛点:寻找免费且可靠的网盘提供商,以存储和分享文件,并生成外链以供其他人访问 外链建设策略- 建立高质量内容:创建有价值且信息丰富的内容,吸引
面对人工智能,法律应该做什么
  2月15日,河北省秦皇岛市海港区燕大西苑社区小朋友体验学习机器人科普知识。曹建雄摄/光明图片  【法眼观天下】   编者按   智能型机器人、自动驾驶、AI创作、语音识别当前,人工智能的应用越来越广泛,由此也产生了一系列法律问
腾讯的开屏广告怎么做?
2018年06月29日罗州100全球国内,海外广告开户代运营,ws引流推广,kwai快手国际版广告投放,fb,Facebook广告投放推广,谷歌FB/WS表筛/二筛信息流、股票等....法律、法规、国务院决定规定禁止的不得经营;法律、法规、国务院决定规定应当
淘宝直通车如何选取关键词?刷关键词有什么用?
直通车是淘宝商家们常用的推广方式之一,相信大部分商家们都知道,在利用直通车推广时,选择一个好的合适的关键词是非常重要的。因为优质的关键词能够提高宝贝的展现量,宝贝的展现提高了,权重相应的也会增加,所以就会出现刷关键词的现象
乐享借一直发短信怎么办才好
乐享借一直发短信怎么办小编导语在现代社会中,借贷已经成为人们生活中不可或缺的一部分。乐享借作为一家新兴的借贷平台,因其便捷的借款流程和灵活的还款方式,受到了众多用户的青睐。许多用户在使用乐享借的过程中,常常会遇到一个问:乐
济南NOIP信息学奥赛活动课咨询热线:   在线咨询: 点击交谈
济南NOIP信息学奥赛信息 济南NOIP信息学奥赛活动课是济南青少儿教育品牌,形成了以乐高创意启蒙课程、人工智能编程、智能机器人编程、信息学奥赛编程等课程体系为核心,集国内外大型权威科技赛事、少儿资格认证考试、科技主题的国内外游学
淘宝刷单秒拍对号好吗?怎么刷不影响?(淘宝店铺装修有哪些步骤?具体怎么做?)
浏览量:576,转发量:39,阅读时长:552分钟,米境通跨境电商ERP淘宝刷单秒拍对号好吗?怎么刷不影响?在线百度查询10小时33分钟前更新,已被438人点赞淘宝刷单秒拍对号好吗?怎么刷不影响?在线360查询23小时14分钟前更新,已被1608人点赞淘宝
置顶微信小商店如何结合公众号推广引流精选热门
微信小商店目前已经支持小商店与微信公众号打通,并通过公众号的推广提高曝光、引流。本文主要介绍如何实现公众号推广。首先,需要将小商店与公众号进行关联,实现两者之间的打通。在公众号后台的【小程序管理】中点击【添加】——【关联小
相关文章
推荐文章
发表评论
0评