纯干货,移动直播技术的极限优化与高效研发

  1.2、监控——视频流监控体系

  在直播业务中,还有个很特别的东西就是视频流。因为它的特点是量很大,加载对用户的网络要求很高,在视频上面对视频流需要比传统的资源更细致的处理。需要去从它的加载、播放等各个方面做监控和完善。做完这些你才知道你的业务问题和瓶颈在哪里。然后再经过分析,就能知道要从哪里下手进行优化。

物联网

  1.3、监控——机器性能指标监控体系

  同时,刚才也有提到,业务对机器的性能要求越来越高。有很多的机器甚至可能根本没办法支持很高的FPS业务。性能对业务的影响非常大,同样的性能,A业务能跑起来,B业务如果跑不起来,用户的感觉就是B业务做得烂,团队很差。性能能够帮助建立业务的影响力和用户的口碑。

  对于性能,其实也有很多办法可以去做监控,比如说给业务在机器上做性能的评分,通过评分能够知道机器到底是什么情况,用户的机器到底能承载多少FPS业务,再根据结果进行降级和升级优化。这就需要统计和分析用户到底是处在什么样的机器性能什么。还有给不同动画进行FPS归类、针对资源分类打包等等方式,都是监控性能比较好的方式。

  1.4、监控——前端日志监控体系

  刚刚也有提到,用户的环境非常复杂,这也是为什么说做前端要去细分到每个用户的原因。不像做服务端,机器上跑什么版本你是知道的,搞定这个版本怎么做就ok。但用户不一样,每个用户都是不同的,出了问题不一定能知道。在大量的数据情况下,是需要测试才能测出来的。因此,要对用户的实际情况进行监控,到底业务走到哪里了,没有走到的原因是什么?将这些信息全部收集上来。

  2、监控体系的自动化

  有了这么多监控方式,自然希望说它们能够自动化去处理。仅仅依靠人力,每个业务上线都去弄一遍,那很难跑下来,人力成本会十分恐怖。因此需要去做自动化的处理,能够实时的知道业务出了问题,问题出在哪。而且希望能够通过一些前端的染色,毕竟用户的网络其实也是有成本的,什么都上报,流量费用比其它业务高很多,用户可能会进行投诉,这就需要染色的能力。染色的能力就是说通过配置server去抓取你想要的用户出错信息。

物联网

  3.1、业务优化实践——节点、场景优化

  有了这些自动化之后,就要开始实践了。在业务中去实践的时候可以看到,一个页面的加载会分为很多流程。这些流程下面就是需要去针对细化的各个节点,并确定每个点到哪一步需要什么优化方案。还有在各种场景的细分和划分,针对这些场景进行优化。

物联网

  3.2、业务优化实践——移动页面性能优化

  对直播业务来说,移动端的业务量非常大。因此要学会充分利用性能工具来做事情,学会用工具作分析。同时要关注CPU变化趋势和GPU渲染能力。如果说实在通过H5已经解决不了问题了,就要适当去找你的环境,环境会提供很多native的能力,不管是用React-Native还是用原生native接口的方式,都只有一个目标,就是通过环境来帮助你业务可以更好的体验。

  3.3、业务优化实践——图片资源优化

  在直播行业,有两个资源比较重要,一个是视频,一个是图片。先看图片要怎么去做优化。

  图片其实有很多很多方式可以做,首先要考虑用户的情况:第一,这个图片能不能快速的加载下来;第二,这个图片在用户端能不能快速渲染。这些决定了图片在业务上打开的快慢。

  3.4、业务优化实践——视频资源优化

  在直播行业,通用的视频架构几乎都会包含下面这些模块,每一个模块在处理时都需要时间,而最终都会体现在影响用户体验的时延。主播开始直播,从上传视频源的这一秒开始计时,到用户能看到主播说这话的这个时间段就是时延。时延是直播业务非常重要的参考数据,时延太高,互动性会非常差。