实战 | 浅谈分布式系统的性能调优
文 / 光大银行金融科技部 张智峰 郑皓广 谢书华
为满足业务系统日益增长的可靠性与性能需求,银行IT系统正朝着分布式架构转型。在转型过程中,我们面临着分布式系统云化部署、自主研发软硬件适配等诸多挑战。本文以光大银行一次大型业务系统性能调优为例,分享分布式系统调优过程中的一些实践经验。
环境介绍
该系统除进行分布式架构改造外,还同步实现了自主研发软硬件适配和云化部署,具体架构和使用的技术产品如下所示。
(资料图片)
1.基础设施层部署模型介绍
该系统在光大银行最新一代云计算平台——全栈云部署,从底层硬件到操作系统、中间件及数据库均选择自主研发软硬件解决方案。平台主要分为:分布式云原生应用、分布式数据库和缓存数据库三部分。其中云原生应用和缓存数据库分别以容器和虚拟机的形式部署,分布式数据库则部署在裸金属服务器上并搭配了NVMe本地存储,操作系统全部使用自主研发Linux系统。
图1 某大型分布式业务系统架构图
2.业务模型
为了验证分布式架构对高并发场景下的支撑能力,本次调优特意选取了对高并发要求较高的联机交易类系统。
如图2所示,GW(网关)服务、DP(存款)服务、IA(内部账)服务、UNISN(全局序列号)服务、SEATA开源分布式事务等均采用微服务架构运行在容器集群中。微服务会持续对服务注册中心进行心跳检测,同时定期获取微服务清单和配置信息,以实现配置更新及服务发现。
业务请求经GW服务调用DP服务接口识别业务类型,并根据业务逻辑在各微服务和数据库间流转。该系统需要在内部高频远程过程调用的情况下,保证联机交易低时延高并发的需求。
图2 某大型分布式业务系统业务模型图
对比传统架构,我们不难发现系统在进行微服务改造后整体架构较为复杂,各微服务间存在大量远程过程调用,导致了更多的网络交互开销,而这部分时间开销在云计算SDN网络下被进一步放大。
通用调优
整体调优工作分为两个阶段。第一阶段旨在梳理业务模型,确立调优思路,并分别对云网、数据库及系统环境进行普适性调优。我行各技术领域专家均参与到调优过程中,通过网络模型优化、数据库对象及环境优化等手段,使基础组件及设施更适合分布式架构,充分发挥分布式架构的优势。
1.云网篇
全栈云使用基础网络架构(三层SDN网络模型),节点间多采用Vxlan通信,负责Vxlan隧道解封装的隧道端点VTEP,广泛分布在算力资源、SDN网元、裸金属网关等节点,导致各节点间互访的流量路径较为复杂。考虑到分布式架构下的高频远程过程调用使网络开销较大,为追求最佳性能,需要针对分布式架构单独设计网络部署模型。我们将虚拟机及容器全部部署到相同VPC下的同一子网内,使虚拟机与容器的网络通信收束在Leaf交换机以下,规避了SDN层的频繁转发。在网络部署模型优化后,网络的整体性能有了大幅提升,通过最直观的ping测试数据,平均时延被控制在250微秒以内,较优化前350微秒的平均时延有了近30%的提升,整体性能提升了20%以上。
图3 全栈云网络物理部署图
2.数据库篇
从传统集中式数据库迁移至分布式数据库面临很大的困难挑战,需要充分发挥分布式数据库海量数据、高并发的性能优势,同时也要避免架构由集中式转变为分布式带来的缺点与不足,为此我们进行了如下的优化措施。
■ 减少自增列使用:典型的存算分离架构的分布式数据库为了保证带有自增列值在全分片内保持唯一且递增,需要一个统一服务来生成这种递增序号,即GTM组件。分布式数据库自增列的写入效率并不及集中式数据库,在高并发写入场景下会成为性能瓶颈。因此我们去掉了全局自增属性,规避了生成全局递增序号导致的性能瓶颈。
■ 批量优化:为充分发挥分布式数据库高并发的性能优势,我们对业务表以账号进行了哈希水平分片,并在每个分片也以账号做了哈希分区。应用程序可以利用多线程以及数据库STORAGEDB语法特性将SQL透传至对应分片,通过多分片多分区并行执行的方式极大缩短了结息批量的执行时间。随着后续建设中分片数量增加,批量执行时间也会随着并行度增加而进一步缩短,甚至能够超过传统架构使用的集中式数据库。
同时,我们参考同业实践经验以及我行实际情况对数据库服务器内存管理、磁盘数据管理策略做了调整。
■ 定时清理buff/cache:数据库面对高并发读写场景时,服务器buff/cache的高占用容易成为性能瓶颈。我们引入定时清理策略进行,以减少因服务器缓存释放不及时造成TPS和时延的不稳定。
■ 条带化:分布式数据库DN节点属于I/O密集型服务,尽量降低NVMe本地盘的读写延迟是需要考虑的方向。通过条带化配置,数据读取和写入可以获得最大程度的I/O并行能力,从而降低SQL语句执行以及事务提交的时间开销。
针对性能瓶颈的专项调优
在普适性调优之后,系统的整体性能有了显著提升,但离预期仍有一定距离。我们发现各个计算节点的CPU、内存使用率等指标均处于较低的水平,这说明性能瓶颈仍然存在,因此我们将目标转向提升各组件在压力测试下的资源利用率,并利用云上overlay流量观测,underlay网络探针和应用日志埋点等手段分析隐藏的性能瓶颈点,利用工具精准锚定瓶颈点,提升“短板性能”。
分段时延获取、
瓶颈点定位与针对性调优
图4 单交易分段时延获取与分析
链路监测通过捕获应用服务和数据库的日志关键字的方式获取链路分段时延。虽然日志输出会牺牲系统性能,但能够有效帮助我们分析各环节调用次数与时延并找到隐藏的性能瓶颈。
分析发现,单笔交易的时间开销主要来自于应用内部的数据处理、数据库的事务处理和微服务间RPC。为此,我们进行了针对性调优。
1.在业务层,主要进行了缓存优化、批量优化和通讯优化
缓存优化:
(1)对于需要高频访问且日常改动较少的参数类库表,考虑通过采用缓存数据来优化访问效率。
(2)一般情况,应用在每次调用数据库前会对SQL进行预编译,对于SQL比较多的场景,预编译的时间将被放大,通过对SQL预编译的结果进行缓存,可以减少耗费在SQL预编译上的时间。
(3)对注册中心可用性进行了优化,通过本地服务列表内存缓存、本地服务列表文件缓存的多级缓存策略,在注册中心整体宕机时尽量减少了对业务系统的影响。
批量优化:充分发挥分布式架构的优势,在资源允许的范围内进一步提高任务处理的并发度,将批量任务化整为零,通过合理的任务分片全面提升批处理效率。同时尽量避免大事务的产生,通过减小单个事务的规模,有效规避业务处理的潜在锁冲突。
底层通讯优化:在内部服务高频交互的场景下,将服务间的通讯协议由http协议改成了基于socket长连接的bolt协议,减少了通讯的损耗。
2.在数据库方向,主要从事务和裸金属网络两个方面进行了优化
事务优化:在确保相关的表和数据行不会涉及分布式事务并发读写的情况下,我们针对性地通过hint的方式降低了部分事务会话级的隔离级别,减少了不必要的查询活跃事务列表、select for update时间开销。
裸金属网络优化:由于分布式数据库涉及多节点间的通信协调,在网络链路上的开销远高于集中式数据库,为此我行全栈云专家也针对分布式数据库内部网络进行了专项调优。
图5 裸金属网络调优前ping测试数据
我们为每一台裸金属节点新增了一个私网地址,专门用于裸金属节点之间的互通,并对数据库内部网络的流量模型和通信矩阵进行调整,使得裸金属内部通信可以通过Leaf交换机直接转发的方式实现路径最简的高速网络,平均ping延时由130us下降到了80us,性能大幅提升。
图6 裸金属网络调优后ping测试数据
overlay层数据包分析
云上环境很难利用传统的underlay探针预埋手段获取全量网络流量信息,在此我们利用网络可视化工具,在云化资源上部署agent观察overlay层网络。
通过云网可视化工具进行网络抓包,我们发现通信包内多次出现了重传和零窗现象,如图7所示。
图7 利用云网可视化工具定位网络问题
考虑到自主研发ARM服务器与我们熟知的IntelX86服务器除指令集外,其多核架构也是一大不同点,沿用X86相关参数配置服务器的方式需要进行调整。
经过业务分析发现,其中零窗和重传集中于BMS007->BMS011与BMS008->BMS011两条裸金属服务器通信线路中,因此怀疑此部分网络链路存在性能瓶颈。在升级业务逻辑并针对服务器进行了网卡缓冲区扩展、关闭网卡中断聚合、调整网卡中断队列与绑核后,重传及零窗现象有了大幅优化,重传率降低至0.1%以下。
在第二阶段的调优中,联合调优小组通过多个云上系统观测工具进行了瓶颈点分析并实施了多个针对性调优,使得整体系统性能较调优前有了80%以上提升,但是距离项目整体预期的性能仍有部分差距。在调优实施中,有所收获的同时,我们也深刻意识到了不足。面对“分布式+云化+自主研发适配”这种复合架构改造场景,我们还存在诸如云上工具建设不足、微服务改造不彻底、自主研发软硬件适配仍处于探索阶段等问题。
回顾与总结
自主研发软硬件适配正处于经验积累阶段,在实际使用方面距离“开箱即用”还有一定距离。追求高稳定性和极致性能的重要应用系统在建设过程中都需要完成相对复杂的性能调优适配工作,以找到每个系统需要的“最优解”。后续光大银行也将加强与相关厂商的合作,针对性满足应用系统“经济型”“均衡型”“稳定性”和“性能型”等不同方向的需求,形成运维资源交付与应用程序结合的最佳实践。
在当前技术趋势下,应用系统建设同时面临基础设施云化、架构分布式改造、系统软件自主可控适配、应用容器化等一系列挑战,这都给系统性能的调优造成了一系列不确定变量,将原本相对体系规范的性能调优工作难度成倍增加。由于涉及从基础设施到应用程序的多层面配合协调,这就需要基础设施建设人员、云平台建设者、系统软硬件工程师、应用程序开发者“多向奔赴”,合作共赢,共同实现系统性能的极致化。
面对复杂的工作任务,多层面的人员协调,更需要体系化、系统化的工作方法进行情况分析、目标设定、人员协调和任务统筹。在本次性能调优过程中,无论是分段获取数据的标准测试方法论,还是引入的应用日志、网络流量和智能运维等工具完成性能情况的获取都值得在后续工作中积累推广。光大银行也将积极推进相关工作方法、工具以及流程的积累,尽快形成一套标准高效的性能调优方法论,进一步提升敏捷交付的效率。
标签:
推荐文章
- 实战 | 浅谈分布式系统的性能调优
- 原神飞行的梦想成就怎么做
- 《装甲核心6》PC支持超宽屏 机库内支持光追
- 林有慧首回应生子话题,再次澄清萧敬腾吸毒传言,曝二人恋爱始末
- 荣晟环保: 浙江荣晟环保纸业股份有限公司向不特定对象发行可转换公司债券网上中签结果公告
- 【东海期货8月21日研究所晨会观点精萃】美元持续偏强运行,全球风险偏好延续降温
- DC/华纳新片首周票房超《芭比》 结束漫画改编电影票房低迷
- 三部门:调整优化房地产信贷政策
- 不顾各方反对 岸田宣称“核污水排海不能再拖延”
- A股跌破3100点,方正证券:坚定看好后市,越跌机会越大
- 各地和有关部门加快灾后恢复重建
- 油价调整最新消息油价或将上涨!8月20日调价后92、95号汽油价格
- 有色金属行业周报:强美元短期压制大宗价格 不改中期上行趋势
- 博德之门3相位蜘蛛女王打法一览
- 菲菱科思(301191.SZ):主要生产交换机、路由器和无线产品等网络设备产品
- 分析|8月LPR一降一平:为何5年期以上品种“按兵不动”
- 1—7月市级重点生态环保项目完成投资逾80亿元同比增长24.5%,投资进度63.2%
- 赤峰黄金上半年净利润3.12亿元 同比减少24.08%
- 双刃战士最后一关怎么打 双刃战士最后一关怎么救公主
- 地下蚁国小说 《地下蚁国历险记》(1)家园保卫战
- 8月21日福建龙氟新材料氢氟酸价格暂稳
- 云南城投(600239)8月21日主力资金净卖出3294.53万元
- 深圳第二批次宅地出让收官:10宗宅地共收金约232亿元
- 华智股份:拟冲刺深交所主板IPO上市 预计投入募资7.34亿元 主业收入来自华为、维谛
- 中国空间站收获阶段性应用成果 将开展第二阶段定向凝固实验
- 光伏产业供应链价格报告(2023.8.9~8.16)
- 足球报:股改成功第一笔注资到账,熟悉的河南队正在回归
- 我国第一大气区长庆油田累计产量突破6000亿方
- 多个积极信号夯实“政策底”
- 宏盛股份:截至2023年8月18日,公司的股东数是12593
- “梁启超和他的孩子们”经典诵读活动举行品读启超家书 感悟启超文化
- 小鹏汽车-W逆市涨超5% 机构指其业绩至暗时刻已过 看好后续交付及业绩持续环比向上
- 突发!中国知名青训周铁久滕_宜兴西甲2010队解散!
- ST三圣:公司重整的工作一直在积极有效的推进
- 群众文化专场文艺演出举行
- 德媒:“中国崩盘”论调纯属妄想
- 1年,降了!5年“落空”!意味着什么?
- 怎么在excel中查找数据_怎么在excel中查找关键字
- 山西洪洞大槐树寻根祭祖园景区有学生证是半价吗?
- 跨境电商跑出加速度
- 23轮0出场!国足中场希望之星惨遭哈维尔弃用,彻底沦为中超摆设
- B社高管向玩家推荐纪录片:玩《星空》之前先看看
- 捷捷微电(300623.SZ):捷捷南通科技“高端功率半导体器件产业化项目”的投建是有国资背景股东参与的
- 重走革命足迹 三校携手以数学智慧赓续红色血脉
- 数字经济赋能农户增收 高校学子暑期调研“数字强疆”
- 郑州首届40+50+五人制足球公开赛火热开战
- 俄媒:乌方一无人机试图夜间飞越莫斯科被拦截,莫斯科市长发声
- 梁田回应被性骚扰为何不报警 性骚扰报警有用吗
- 突发!载43名球迷的大巴翻了,7死36伤
- 两万元左右的正品表,复刻版有哪些值得入手的机械腕表?
- 公共 | 宁夏德盛村驻村工作队开展乡村振兴扶持政策专项宣讲培训
- 尼康d4s价格(尼康d4价格)
- 俄一火车站遭乌无人机袭击引发火灾,5人受伤
- 落实职教高考政策,促进职普教育相互融通 职业教育加快高层次人才培养
X 关闭
最新资讯
- “深海一号”大气田完成首次超深水海管清管作业
- “神秘人”能救恒大汽车吗?实探纽顿金华超级工厂:计划耗资约20亿,厂房由地方国企“代建”
- 武汉江景学区房滨江苑墙体开裂,地基沉降,“水泥森林”质量安全问题何解?
- 房屋装修效果平面图怎么画 房屋装修效果平面图
- 告急!男篮王牌打热身赛仅1分,周琦状态低迷,赛前训练勾手5中0
- 网易MuMu模拟器设置为卡通的方法
- 今日炫舞时尚旅行sss攻略(炫舞时尚旅行npc是什么,怎么给他献礼物)
- 划清关系!哈登未在76人球衣签名,小杨哥怒斥采购,直呼失职
- 锂电池板块跌0.93% 盟固利涨19.99%居首
- 信用卡取消违约金吗,最新的规定是哪些呢
- 大众扛不住!ID.4 X降幅4.8万,轴距2765mm,170马力+后置后驱
- 全国夏粮累计收购5547万吨 总体进度已超八成
- 官方:塞维利亚免签32岁的挪威国门尼兰德
- 60岁的吴老师,换了一种方式继续做“老师”
- 主产区累计收购超5000万吨 小麦总体收购进度已超八成
- wwe2008冠军之夜(wwe2013冠军之夜)
- 中金公司:资本市场改革助力信心提振,A股当前位置机会大于风险
- 调查显示:中国风电设备占全球六成份额
- 26届成都国际车展展车1600款 车模车模照来了
- 如何推进新能源充电桩全覆盖?宝山这个街道这样做
- 安徽大力士胶黏剂科技有限公司(关于安徽大力士胶黏剂科技有限公司简述)
- 夏威夷大火已致114人死亡,废墟中出现了很多“X”字
- 萼部(关于萼部简述)
- 《英雄联盟》战斗之夜今天开启:全英雄开放、打一把就能免费领皮肤
- 证监会发声!释放多个重磅信号,事关你的股票
- 微粒贷还清之后可以马上关闭吗(微粒贷还清了还会自动扣款吗)
- 覆铜板板块龙头有哪些?(2023/8/20)
- 他的死亡,让身为皇帝的朱元璋悲痛不已,下决心杀绝开国武将!
- “Shining Shanghai”2023静安国际光影节正式启动发布
- 山东省内旅游景点是哪些?哪个景点代能表你的家乡
- 广汇能源:预计今年11月前后试投产氢能全流程产线
- 定“凉”策战高温 安全生产不停歇
- 忍者殺手人物介紹:治癒 (キュア)
- 美国阿拉斯加尼科尔斯基东南方向发生5.2级地震
- 破发股友发集团跌4.71% 2020年上市两度募资共38亿元
- 安全出行!暴雨蓝警!北京全市中或大雨,局地暴雨+雷电
- 联想新游戏生态品牌 Legion Go 将推AR眼镜
- 悠闲假日 “过林卡”
- 刘亦菲意式宫廷大片出炉!时尚统治力一绝
- 杨振宁怎么救了邓稼先(杨振宁为何救了邓稼先)
- 泓博医药:8月17日融资买入668.71万元,融资融券余额4067.06万元
- 【好物】小米平板6 Max京东3599元起再次开售,椰力冰100%椰子水8.5元/L喝到爽
- 怎么打平方符号 电脑怎么打平方符号
- 万顺集团控股(01746)发盈喜 预期上半年业绩同比扭亏为盈至不多于约150万港元
- klz掉落物品查询(圣骑士单刷klz需要什么条件)
- 派能科技大宗交易成交2.70万股 成交额414.18万元
- 塔图姆,东边不亮西边亮
- 闽北是什么城市
- 公告速递:汇安嘉鑫纯债债券基金暂停大额申购业务
- “你好!火星”系列新品助力开学季 用文具探索“浩瀚宇宙”
X 关闭