首页 > 个性签名 正文
【qq空间大图模块图片】腾讯100亿级摄影服务架构,只做好这8件事,节省10000台服务器资源。

时间:2023-02-03 19:59:56 阅读: 评论: 作者:佚名

导游语言:图片压缩原本是支持2.4w台物理设备,现在弹性平台每天为100亿次压缩提供6k个容器的可持续计算能力。除了图片压缩业务外,还提供视频转码业务、spark计算、AI围棋和王者荣耀计算业务。将当前网络低负载资源的核心总数重新使用为70W核心,使每天平均CPU利用率高达56%。

背景

QQ相册、微信地图、朋友圈等每天有近100亿张照片活跃在用户的手机、平板电脑、电脑屏幕上,带来了生活的乐趣,照片压缩也带来了100亿/天的计算量。目前,每个压缩计算都在平坦的TCS-灵活计算平台上运行。现在我们来谈谈平台是如何提供大量压缩计算的。

欢迎关注笔者。优质的文章都在这里等着。

可行性

图压缩迁移在灵活计算平台之前使用压缩程序混合存储系统的战略可以降低计算资源的设备成本,但混合部的运营面临以下问题,增加了人力运营成本:

1、资源利用率低。

使用静态资源设备混合方式,照片压缩业务在规划资源时是业务最高峰,规划资源,设备数量需要数万台。QQ和微信等社交网络具有明显的波峰谷效应,这意味着非峰值压缩装置的计算能力正在被浪费。

2、运营和维护费用增加

随着QQ和微信业务的迅速发展,对压缩资源的需求正在增加,运营中的同事们需要每季度或每月安装设备,投入人力运营。特别是在业务突发的情况下,资源量无法满足业务增长,会触发业务体系结构的灵活策略,从而损害用户体验。

3、业务相互干扰。

摄影业务和存储程序混合部署、资源物理隔离和程序端性能隔离不存在、CPU、内存等资源竞争、业务高峰引发竞争加剧,造成相互伤害。

TCS-通过灵活计算平台独有的资源物理隔离、服务容量自动扩展、服务权重动态调整等战略,解决业务问题。

平台那种东西

对于资源隔离压缩Archiver混合部来说,随着工作量激增,CPU时间片竞争加剧,特别是对捆绑核的计划产生了重大影响,目前在网络运营中遇到CPU时间片悬崖掉落的情景。为了资源潜伏的恶性竞争,灵活的平台重用CPU、内存隔离中的docker,并在cgroup中沿用quota、share、period的配置限制政策,但这些技术仅适用于资源控制,无法灵活应对CPU时间片段的违和感。因此,进行了灵活的平台创新。命名服务图片压缩服务最初使用主管理compress资源列表。每个压缩池、每个地区都需要单独的主模块。这将浪费主设备资源,管理界面不统一,对新介入的开发者来说需要很长时间。特别是在业务突发情景的情况下,在分发资源后,必须手动添加到主程序中,操作不友好。面对业务的上述痛苦,灵活计算平台提供命名服务,获得业务端访问后可访问的名称,平台将资源挂在名称下的输出计算力上,以名称服务为基础,提供负载平衡、异常点消除策略,保证业务正常运行,解放运维人员。而且,业务方面不需要了解资源分配,开发人员手巧。资源的伸缩是通过名字透明来实现的,运维同事只需关注业务情况即可。自动安排压缩计算的静态资源计划应根据业务峰值进行评估,峰值CPU闲置浪费低,业务突发处理能力弱,体系结构灵活,但会损害用户体验。对于业务需求和资源使用之间的矛盾,平台从资源调度的角度完全解决。也就是说,通过按需提供资源、激活整个资源使用、分析容器上报的CPU、内存、磁盘io、使用情况和网络io数据,构建业务负载监控,并在引入InfluxDB后以秒为单位减少监控警报间隔。平台自动调度分为动态扩展、异常调度和识别调度。 1,动态调度

平台最基本的调度方法是根据被监控的容器负载信息进行调度,并与业务端一起根据平台创建的资源模型配置负载高低阈值。负载超过阈值后,将成为以平台秒为单位的扩展资源。负载低于阈值下限,可以以平台分钟为单位缩小,从而确保业务稳定。

2、例外排程

平台以CPU时钟指令分配战略为基础,利用cpi(Cycles Per Instruction)指标监控业务运营状态,建立业务cpi模型,提出跳出模型的CP。

i数据作为基准值,当业务的cpi方差值偏离模型值时,平台执行剔除或者替换操作。

3、感知调度

平台在运营压缩业务中发现:在压缩程序自身的过载保护或者其他策略作用下,会出现cpu/cpi无明显变化,但压缩的延时、失败率升高的现象,针对资源指标正常,业务异常的矛盾,业务侧配合平台做了感知调度,即业务侧感知到时延或者失败率升高的压缩设备并反馈弹性平台,平台对此类资源做降权或者替换操作。

下面的两个图是压缩容器量和cpu负载图,全天cpu使用率几乎稳定在一条直线。

  • 负载均衡
  • 弹性平台可调度资源多种多样,母机CPU的型号也并不统一,对此平台使用benchmark程序,在各种CPU类型的机器上跑测试,为每个CPU类型计算一个性能系数(系数的范围是0.x~ 1.x),计算资源权重时,基于cpu的性能系数做主调,业务现网的延时、失败率等负载做微调,下图是动态调整后,cpu负载分布图。

总结与展望

图片压缩原本是2.4w台物理设备支撑,当前弹性平台仅用6k台容器为每天百亿次的压缩提供了可持续的计算力,除了图片压缩业务,平台还服务了视频转码业务,spark计算以及AI围棋和王者荣耀计算业务。复用现网低负载资源总核数达70W核,全天平均CPU使用率高达56%。

年底弹性平台预计可调度的计算力可到100w核,深挖平台资源的计算力、使用率,为业务提供源源不断的低成本计算,在公司发力AI,倡导成本优化的大背影下,实现业务、平台、部门的多方共赢。

文章来源:腾讯云

文章地址:https://cloud.tencent.com/developer/article/1005760


您的转发+关注就是对笔者最大的支持,欢迎关注。

另外喜欢听互联网圈里那些趣闻轶事,或者对大厂架构设计,BAT面试题分享, 编程语言理论这些感兴趣欢迎关注笔者,干货文章都在这里。

  • 相关阅读
  • 评论列表

发表评论: