业务级运维、敏捷、性能优化及其他...

版权声明:此文章如需转载请联系听云College团队成员阮小乙,邮箱:ruanqy#tingyun.com

Arch Summit应用性能管理专场,来自国内APM领导品牌听云技术副总裁吴静涛、移动研发总监江赛以及正在进行APM实践的腾讯社交平台业务运维组高级工程师梁定安老师、OPPO数据中心总监黄良懿先生,共同为在场观众分享了来自不同领域关键业务在APM上的技术实践经验并细心解答了在场嘉宾提出的问题。

41.png

41.1.png

听云

41.2.png

1、听云对于监测之后的自动化修复有没有具体的方向或者方案?

吴静涛:在最开始我们的业务只负责发现问题所在,发现问题之后汇报,有了听云App 、听云Server之后,真正开始对访问流程进行监测,这时候就可以发现与定位问题,同时提出解决方案,起到辅助作用。如果没有听云这个平台,企业想要对数据中心进行监控是没问题的,可是监控到运行效率、监控用户体验就会非常难。而听云会利用应用性能技术新手段去发现以前发现不了的问题,帮助运维、研发服务做支持工作,研发、运维人员去解决问题就会变的非常容易,帮助他们重新整合自己的产品,加快工作效率,渐进式的迈向业务级运维。

2、现在听云有没有做到服务之间的这种交互网整个之间的关系,因为我们现在的系统比较复杂,主业务的后端都有很多的子系统,子系统之间有非常多的依赖,现在是监控到单个的系统,像这种js,调用rest,能不能做到这种多系统的监控?

吴静涛:听云已经在内测这个功能了,就是说未来我们可以实现基于一个你定义的应用和它在后台Server端的各个应用间的调用逻辑可以帮你监控出来。想从一个端到端,从点上最直观的看到问题,我们可以基于Top5最慢的,然后基于它做追档,去查看它具体调用哪个应用关系的时候的具体交互慢,我们可以实现定义关键业务,然后基于关键业务往后去看到底是哪个应用或服务器之间的问题。

3、APM 这个领域的SaaS化服务模式,在国内市场没有普及,是否支持私有化部署?

吴静涛:用户信息非常重要,企业客户会有相关困扰,目前听云在移动客户端嵌码超过3.5亿,互联网客户非常认可这样的模式,听云作为上市公司在提供服务时也是很有保证的。但面对企业客户的私有化部署需求,听云完全支持私有化的部署,完成客户端信息的收集,听云会部署到企业的内网的服务器来做报表和分析。特别强调的是,作为互联网平台,唯快不破,私有化是需要增加的,如果以后点数要增加还是要扩充, 所以快是客户非常重视的,稳定、安全是客户的另外一部分需求, SaaS模式可以说是未来的一个大趋势。

41.3.png

1、关于移动端应用的崩溃和闪退,具体有什么区别?

江赛:崩溃和闪退理论上是一回事,但是在安卓平台,一个应用发生崩溃时不一定会直接退出到主屏幕,有可能会出现一个弹窗,但崩溃还是实际发生了,在现实中我们把崩溃和闪退都定义为同一个现象。

2、卡顿的话可能安卓里面引起卡顿有多方面的,比如说内存的,CPU的问题,卡顿鉴定的时候是怎么去操作的?你不操作的时候是零,你操作的时候可能会低一点,有时候是跳几针,到底是从几个维度上去做的?

江赛: 我们对于交互的监控主要是基于IO和网络维度,刚才问题里提到的这些维度并不是我们所定义的交互监控项目。另外,我们有一个很好用的慢交互追踪功能,他是在你的交互时间达到一个阈值后才触发的,慢交互追踪里会记录非常详细的设备信息,例如当时设备的CPU、内存和网络的变化情况。还有各个thread之间的调用和用时的瀑布图。

3、哪些是影响移动端应用性能问题的重要因素?

江赛: 其实都是大家都知道的一些,连接超时、崩溃、黑屏、闪退、网络劫持,这个网络劫持是一个很普遍的现象,而且基本上是避免不了的,对于这种网络劫持怎样去避免这样的问题?有的网络劫持就专门劫持特定命名的那种访问。这种问题其实在中国的网络环境中真的是没有办法避免的,但是我们会帮你发现这些问题,尽量去减少、规避这些问题。其次,交互性能差,这个是比较笼统的。CPU使用率问题,内存泄露、耗电高,像安卓一直没有开发这样的API,如果对安卓比较熟悉的人应该知道我这个话的意思,谷歌一直没有把这个API给开放出来,但是我可以通过一些小的技巧可以达到,但是这个没有办法在我们的SDK里面去发布,其实真正的耗电可以做到,使用Wifi的耗电,你在使用中评估的耗电,在系统里都可以拿到,这个功能也在以后的计划当中。

OPPO

41.4.png

1、对于移动应用,如果是一个全球化的使用场景,这种应用的话怎样评估它的网络接入性能,不同的接入场景,进入的条件不一样,你的评估方式是一样的吗?

黄良懿:评估方式是一样的,我们也讲过不同运营商的产品,去测试的时候,我们可能要自己去布很多的点,有一种做法就是你直接把你的这个统计的App做一个自定义的事件,另外一种就是我不以我的这个真实用户、影响性能这种方式,或者是以独立的第三方的方式去审计,就可以去做类似这样的事情,你介入这个产品了以后,他会帮你收集这部分的数据去进行上报,你真实的用户有多少,或者说你发出去带这个的版本有多少,你就可以拿到多少的用户量。我们之前做过一个测试,如果你的App的量不是很少的话,我们做过一个估算大概是在5000万的用户量,你差不多有10个样本的情况,对你的这个分析是会比较有帮助的。

2、关于域名的拆分,怎么去衡量拆分多少个域名才是比较合适的?

黄良懿:这是一个很好的问题,我们认为这个值比较合适的是在4左右,这是一个经验的一个值。IE6只有两个并发,如果你的用户比较大的情况下,你把它设置为4的话,你会有比较大的并发,但是并没有发起太多的连接。这个过程当中我们也见到有一些团队比较常见的误区,就是他们觉得这个数字好像越多越好,比如说像京东或者是淘宝用的PIC15,那一类不算,那一类就是纯图片的时候就分布到上面去的,并不是说每一个域名下面就可以访问这个内容的。我们现在更多的是业务的场景下面去拆分它,如果你的域名特别多的时候,DNS体系所耗的时间也很长。

腾讯

41.5.png

1、除了腾讯公司的方案之外,其他公司也有一些方案,我们每一笔交易都可以进行追踪,我就可以去看这个交易在哪一个地方失败了,然后去关注这个地方的一些结点,我不知道腾讯有没有做这种单笔交易追踪业务?

梁定安:有的,其实腾讯是可以基于某个QQ号进行染色的,所有的足迹其实都是一清二楚的。但这个东西比较消耗性能,这个我们一般会对某一些特定的用户进行一些染色,会挑选一些比较有代表性的一些用处,可能那个抽样比非常小,有可能QQ空间就几千个用户,但是QQ空间的用户量是几千万的,日活跃量是几个亿的。

想阅读更多技术文章,请访问听云技术博客,访问听云官方网站感受更多应用性能优化魔力。

关于作者

许小午

不是一个没有故事的女同学

我要评论

评论请先登录,或注册