首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

1号疯qiu(20210210):与时间赛跑,我们在路上

本文中所有内容

均系作者自己的叨逼叨

与其他个人或组织机构无关

全文大约有2900字,图片若干

纯看不思考大约需要8分钟时间

嗨,大家好,又是快一个月没见了。

临近年关,本职工作事情也是不少,用来干私活的时间自然也大打折扣了。

当然,也不是全无收获,最近听到了点消息,我觉得还挺振奋的,就马不停蹄的悄悄登上公众号来给大家伙唠唠。

具体唠什么呢?

接下来就对小编目前了解到的情况,做个简单的介绍。

盘后优化内容

在有连续交易的情况下,留给各个公司的窗口时间满打满算可能也就5个小时,要在这5个小时时间内塞入诸如V8T数据备份、数据回导、V6S交易数据导入、交易所清算文件导入、持仓资金结算、报送数据生成、结算单生成、V6S初始化、V6S初始化数据导出、V8T初始化……

这一套组合拳下来,中间又有好几步耗时极长,有时候吃个饭回来可能都还没整完,而且万一其中有哪个步骤出现不可预期问题,连续交易的举手都成了问题,手里的饭菜顿时不香了……

其实小编也和大家一样,对有些个耗时比较长的步骤吐槽已久,但久久不见优化,也只能45°仰望星空了……

不过这次,小金家的领导们痛定思痛、卧薪尝胆、破釜沉舟的组建了团队,发挥奋发图强、精益求精、废寝忘食的精神……

这波马屁不得多发一毛钱的奖金?领导你看懂我的明示了么……

把小金家V8T的初始化时间、升级和总线备份时间、oracle-rman空间、数据库数据导出时间都进行了优化,部分优化已经走出实验室实装到了积极配合参与此次优化的客户(10万客户量)生产系统上,并取得了较好的效果。

1、初始化时间

一直以来,初始化时间都是哥几个诟病比较大的方面,特别是上线了大连六期相关组合业务后,该客户的初始化时间一度长达63+分钟。

在经过第一阶段优化后,初始化时间缩短到53分钟,该优化已在8506P7版本及后续的8507版本实装。

在第二阶段,团队持续对初始化逻辑进行深度分析,在对初始化整个业务逻辑进行多次调优后,截止到目前小编得到消息的时候,已经可以将V8T的初始化时间控制在30分钟左右,比最初的63+分钟节省了一半的时间。

在后续包中预期发布的第三阶段调整中,还会对大连组合相关业务进行进一步优化,在第一级阶段的基础上,目前的实验室测试数据可以差不多继续优化6到8分钟,达到23分钟左右。

另外还有个小道消息,后续还会规划有2到3次针对初始化的优化,力求把所有客户的V8T初始化都时间控制在10分钟以内,甚至于更少,小编给你们打call哦。

2、总线备份时间

V8T在进行盘后处理的时候,总线备份时间之前也会需要20分钟左右,包括在进行V8T系统的升级前进行升级备份也需要20+分钟的时间。

在进行了逻辑上的优化并启用了多线程处理后,整个流程的时间已经可以控制在1分钟左右,从20分钟到1分钟,小编当时听到这个数据的时候,差点都没有托住自己的下巴,内心的OS是早特喵干嘛了……太特喵的牛批了……

3、oracle-rman空间

针对10万客户体量的公司,之前做oracle-rman差不多需要115G的空间存放,1T的硬盘空间也禁不起这么造10次的。

现在经过团队的研究,据说是采用新的压缩方式使oracle-rman后占用的空间减少到了5G左右,大大节省了硬盘空间。

4、数据库数据导出时间

在之前,每次进行数据库数据导出时,都会需要花掉差不多20分钟的时间,从某次测试开始暴露出原有oracle的数据导出备份逻辑可能会存在数据丢失的情况,所以我们的团队进行了研究和实验室测试。

最终将oracle的数据导出更换为数据泵模式,不止使整体备份时间大大减小,由20分钟减少为2分钟,更使得数据可靠性得到增强。

当然,由于使用了数据泵模式,使得导入的时间也变得更快了。

同时也进行了新的压缩方式,使得占用空间从9.3G左右下降至1.2G左右,优化后与优化前相比达到了1:9的效果。

经过大量的实验室测试及客户环境上线的考验,目前在8507的版本中已经实装此项优化。

5、盘后数据同步优化

在有小金家多V8T交易中心的情况下,每一套交易中心都会在数据回导时将所有客户的数据进行回导,不止回导的数据在结算系统中会变得冗余,在进行回导时耗时也会变得巨长。

在目前已知的优化下,盘后数据回导将只回导属于其交易中心的客户的数据,这样减少了导出数据、减少了导出的时间,也减少了在结算系统查历史数据时大量的冗余数据。

上述所有的项目,整体优化了近1个小时,我感觉,这挺可以的。

也有人会说,我们家没有10万的体量,那是不是对我家就没多大的感觉了?

NO!NO!NO!

体验过点击按钮后,端起茶杯喝口水,伸个懒腰揉揉眼的功夫初始化就做完的感觉么?

也许你会上头的。

升级优化内容

上面提到的是每天盘后回导以及初始化要做的事,大家另外诟病的比较多的是V8T升级的占用时间实在是太长了。

以至于现在对于比较大的补丁包的升级窗口仅剩各个节假日放假前的最后一天没有连续交易的情况。

我们的团队对此,也进行了深入的研究。

1、data_pump优化

原来每次升级完data_pump时间经常会让人难以忍受,盯着屏幕目光呆滞,仿佛时间都静止了一般。

我们对data_pump的整个流程进行了多次优化,并最终把十几分钟到几十分钟的data_pump时间优化到了1分钟内,实现秒级data_pump。

并且已经实装在8507补丁包中,各位在进行升级时应该就能够体会到高速data_pump带来的“推背感”了。

2、各个应用的备份及升级优化

和上面提到的数据导出一样,V8T升级时候对于各个应用的备份耗时和备份空间都巨大,几个T也经不起这么造的。

故而后续对这一块的优化也已经进入实验室测试阶段,据实验室数据反馈也能将耗时控制在1分钟左右。

算上之前提到的总线导出的备份和数据备份的优化,整体升级时间后续预计也能在5到10分钟内。

总结

通过和团队的沟通,去除文件传输的时间损耗,后续在业务和应用层上的升级和盘后时间都将控制在5到10分钟内,为各位节省大量的时间,碗里的食物突然又变的美味了起来……

上面提到的初始化时间一阶段优化、数据库数据导出时间的优化以及升级时的data_pump优化已经在8507中实装上线了,愿意体验的同学们,你们懂我意思没?

至于其他尚未实装的优化,在经过进一步的调优和测试后,未来的某个版本就会开始实装了,预计会在8507P2、8507P5以及后续的补丁包中陆续实现,所以来跟小编一起期待、一起准备起飞吧!

另外,据小编在团队内的线人透露的消息,团队内现在有类似“不许任何一个客户的V8T初始化时间超过10分钟”的口号,很多人也许会说,哎呀,你看那个谁谁谁家初始化都在多少多少分钟了,你们这边口号还是10分钟,太落后了。

要知道,暂时的落后其实不可怕,谁都会有领先于人的时候,谁也都会有领先于人的机会,喊口号是第一步,有产品才是真本事。

说句可能会被关小黑屋的题外话,小编也是从“慢/有缺陷不是正常的么”听到耳朵起茧子之后的这么长时间以来,终于听到了一声可以让我内心为之一动的“冲锋号”了。

最后,值此年关之际,提前给大家拜个早年,祝大家

新春快乐

身体健康

事业顺利

家庭和睦

心想事成

在牛年能够

牛气冲天!!

撰写:球球

校对:球球和他的朋友们

本文版权属作者所有

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210210A01H7X00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券