作者:王小飞
导语:图片压缩原本是2.4w台物理设备支撑,当前弹性平台仅用6k台容器为每天百亿次的压缩提供了可持续的计算力,除了图片压缩业务,平台还服务了视频转码业务,spark计算以及AI围棋和王者荣耀计算业务。复用现网低负载资源总核数达70W核,全天平均CPU使用率高达56%。
QQ相册、微信传图和朋友圈每天近百亿张图片活跃于用户的手机、平板和电脑屏幕中,为大家带来生活趣味的同时,也给图片压缩带来了百亿级/天的计算量,当前每一个压缩计算都跑在架平TCS-弹性计算平台上,下面我们就来聊聊平台是如何服务海量压缩计算的。
图片压缩迁移弹性计算平台之前,采用压缩程序混部存储机器的策略,虽然节省计算资源的设备成本,但混部的运营面临如下几个问题,并增加了人力的运营成本:
采用静态资源设备混部的方式,图片压缩业务在规划资源时,以业务高峰规划资源,设备量需几万台;而QQ和微信等社交类互联网业务,存在明显的波峰波谷效应,便意味着:非高峰期压缩设备的计算力被浪费了。
随着QQ和微信业务快速发展,压缩资源的需求量不断增加,运维的同事每季度或者每月都需上架设备,投入人力运营;尤其业务突发时,资源量不能满足业务增长量,触发业务架构的柔性策略,对用户的体验有损。
图片业务与存储程序混合部署,未做资源物理隔离和程序侧性能隔离,存在cpu、内存等资源的竞争,业务高峰触发竞争加剧,导致互伤。
而TCS-弹性计算平台独有的资源物理隔离,服务量自动伸缩,服务权重动态可调等策略,契合的解决了业务的痛点。
平台最基础的调度方式,根据监控的容器负载信息做调度,以平台配合业务侧做的资源模型为依据,配置了负载高低阈值。当负载高于阈值,平台秒级扩容资源;负载低于阈值下限,平台分钟级缩容下架,保障业务稳定。
平台基于cpu时钟指令分配策略,微创新的提出用CPI(Cycles Per Instruction)指标监控业务的运行状态,通过对业务cpi建模,将模型跑出的cpi数据作为基准值,当业务的cpi方差值偏离模型值时,平台执行剔除或者替换操作。
平台在运营压缩业务中发现:在压缩程序自身的过载保护或者其他策略作用下,会出现cpu/cpi无明显变化,但压缩的延时、失败率升高的现象,针对资源指标正常,业务异常的矛盾,业务侧配合平台做了感知调度,即业务侧感知到时延或者失败率升高的压缩设备并反馈弹性平台,平台对此类资源做降权或者替换操作。
下面的两个图是压缩容器量和cpu负载图,全天cpu使用率几乎稳定在一条直线。
图片压缩原本是2.4w台物理设备支撑,当前弹性平台仅用6k台容器为每天百亿次的压缩提供了可持续的计算力,除了图片压缩业务,平台还服务了视频转码业务,spark计算以及AI围棋和王者荣耀计算业务。复用现网低负载资源总核数达70W核,全天平均CPU使用率高达56%。 年底弹性平台预计可调度的计算力可到100w核,深挖平台资源的计算力、使用率,为业务提供源源不断的低成本计算,在公司发力AI,倡导成本优化的大背影下,实现业务、平台、部门的多方共赢。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。