Close

淘金网币圈快讯 > 币圈快讯 > 币圈交流软件有哪些,拯救关键业务上线小时

币圈交流软件有哪些,拯救关键业务上线小时

淘金网币圈快讯 币圈快讯 2021年11月13日

币圈交流软件有哪些,拯救关键业务上线小时

  目为期2周的现场支持刚完成外地一个重点项◁▲,家的路上从机场回■★,出租车上昏昏欲睡的我一阵急促的铃声惊醒了,这么晚来电一定是出事了多年的工作经验告诉我,电话接起◆…,KS是。客户数据库国产化替代项目KS正在跟一个国内关键★●-,换为金仓数据库KingbaseES该项目核心业务系统由Oracle替,配和测试稳步推进项目前期应用适,计划根据,启动上线日客户上班时间可以正常使用整个系统将于9月21日晚上10点,撑业务高峰期并能顺利支-☆○。上线做最后的测试和验证的技术支持人员KS是配合应用开发项目团队正在为项目▪•…,地表示他急切,一次压力模拟测试时在项目团队在进行,连接超700当数据库并发▪☆□,程的操作出现明显卡顿系统中某一个业务流○▪,项操作并发再增加时再对该业务流程某,据库停止服务甚至出现了数。

  电话挂了,项目所在地我立马赶到☆■◁,的的项目负责人均在现场客户、集成商和金仓三方,币圈交流软件有哪些线在即项目上,通起来稍显语无伦次现场的状况让KS沟…◇,如此尽管,了集成商和客户的担忧我还是清楚地感受到。

  入工作状态我快速进•◁■,数和相关日志文件、指标开始查看数据库的各项参▪◁○,试时的主要场景特点同时仔细分析了下测。现作为根因分析的抓手首先抓住以下问题表:

  p确认产生大IO的进程都是kingbase进程聚焦该现象初步确认引发IO的进程:根据ioto,向数据库问题指▪■=,L存在性能问题怀疑是部分SQ▲•,库IO过大导致数据。库等待事件成了一个难题但是如何准确定位数据▷=★,_stat_activity字典确定首先按照以往经验我想到通过查询sys▷=,vity只能查询当前时间点的数据但是sys_stat_acti,方法试图采集一些信息后来我又采用一些其他,分散●▼、维度有限但是这些信息,题的快速定位不足以支撑问,币圈天眼秘乐短视频陷入迷茫一时间我。

  少次安抚完客户数不清是第多=●,己保持镇定我强迫自,么僵持下去心想不能这,到突破口得快点找▷…•。重整精神于是我,放、梳理、挖掘迅速在大脑中回,破方法寻找突◁△□。部培训提到的产品新能力突然我想到前一阵产品内,据库的会话历史和各种负载信息进行收集可以通过工具KSH和KWR分别对数▷…□,生成报告并能快速,现场的版本情况和使用方法赶紧和相关同事了解了下,已经具备相关能力并确认现场版本□▷。SH工具进行分析于是尝试先使用K,负有心人皇天不,明到来前终于在黎,岸花明”◆=◆:迎来了◁…=“柳★○▷。

  SH 报告2.查看K,rite…△” 等待事件比例极高我发现了 “BufFileW,将BUFFER内容写出到文件该等待事件表示进程正在等待▽■。rite☆□●” 等待事件“BufFileW,进行写临时文件操作通常意味着进程在-•☆。经很明显了走到这里已,QL导致了系统的IO问题可以确定是由于特定的S。这个“罪魁祸首☆★”接下来就是要找到,L并对其进行优化即确认问题SQ。

  :再次分析KSH报告3□▼★.确认问题SQL,Write○△-”事件的SQL找到等待“BufFile▲▲=,SQL如下确认问题:

  发人员沟通后5.跟应用开,期适配时确认是前•▼,境数据量较少由于测试环,ble_nestloop OFF)*/)通过加hint (/*+set(ena○…■,更快的性能可以获得•●。产环境测试时而现在模拟生,量成倍增加测试数据, 不再适用hint。

  点说干就干日凌晨5△●,行对业务进行压测应用开发商继续进,运行过程中我们在业务,巡检手段采用各类△▽,库状态开始进行全面检测配合使用KWR对数据■★•,被发现的“雷区◆▪”以排查可能还未,然果▽◆,和监控过程中在持续的测试▽◁•,约7点多早上大,使用率此时非常高我发现系统CPU,O正常但I-▪△,不太正常显然这。到了嗓子眼这下心又提,认最耗CPU的进程:使用top命令我赶紧展开新一轮的排查:1□□.先确◁△▷,PU资源的进程查看最消耗C,ingbase进程确认这些进程都是k■▷。查看数据库的 KWR报告2■★.确认数据库等待事件▼★:,间都花在CPU上确认数据库的时●▷•,的等待事件没有明显。断进程状态是正常的从这些现象可以推,L性能不佳特定SQ,CPU资源消耗大量。

  工具也提供了TOPSQL功能3.准确定位SQL: KWR,执行时间对SQL进行排序可以根据CPU▪•■、IO▲•、-□。前问题对于当●○▼,Elaspsed Time”章节通过查看“Top SQL By ★■,消耗CPU的SQL可以快速确定出最。。

  SQL有4次调用了以上的子查询4△=•.SQL 效率分析◁-:完整的…=◁,到了窗口函数而且子查询用☆▷,耗CPU资源的窗口函数是最消。能的消耗如下这部分对于性□◁★:

  以看到5.可△-,需要 768ms这部分简单的查询●◆,共需要3秒4次调用总。公共表达式(CTE)因此可以考虑通过提取,减少时间2秒左右整条SQL可以☆◆。

  SQL后修改完,行KWR再次运◁•,性能问题得以解决确认以上SQL。下来接,比较顺利一切都,不敢放松警惕但我们仍然,库的运行状态时刻关注数据•☆,我们快速进行相关数据的收集好在有KWR和KSH能帮助-▷□,到心中有数帮助我们做▷○△,收集的数据同时通过,诊断工具KDDM使用数据库自带的,阶段性分析对报告进行▽▲,断性能问题进一步诊,了一些优化建议为开发商又提供,M针对如下SQL给出了索引建议比如下面的索引建议★□:1.KDD▪•△。

  小时的奋战经过24□▼,系统顺利上线客户的业务,用高峰期并通过使▼◇,项目上线成功随着客户宣布,响起了热烈的掌声项目组的房间里□▼☆,项目成员的感谢掌声既是对全体,和金仓人的肯定也是对金仓产品◁△。

  们DBA提供的数据收集和诊断工具而我最要感谢的是我们研发团队为我,据中提炼出价值信息帮我们从繁杂的数,松地面对现场优化问题让我们能够更高效轻。

  户大楼走出客,天清冽的空气吸一口北京秋,时不是终点这24小,会遇到很多棘手问题数据库国产化之路还,大金仓的一员但是作为人,信心我有,断打造产品能力我们将通过不,更多的价值为用户创造◁-。

标签: