写点什么

ArchSummit 深圳 APM 专场总结:性能监控与调优实践干货分享

  • 2015-07-23
  • 本文字数:3774 字

    阅读完需:约 12 分钟

随着应用性能管理(APM)越来越被开发和运维人员所熟知,7 月 17 日在深圳召开的 ArchSummit 2015 全球架构师峰会特开设应用性能管理专场,来自听云、腾讯和 OPPO 的讲师分享了他们在性能监控、管理和调优上的实践经验。

全网应用性能监控方式与业务级运维

APM 领域今年在国内资本市场引起了高度关注,这其中最耀眼的要数最近在新三板上市的听云。听云自成立以来一直关注在网络和性能监控领域,其产品和实力受到市场 认可。听云技术副总裁吴静涛分享的是《业务级运维利器》,分析了目前进行全网应用性能监控的几种方式和它们的优劣点,以及传统运维和业务级运维的差异。

自 2007 年以来,移动互联网迅猛发展,传统的 B/S 架构转变为 APP+ 云的云 / 端架构。无论是终端、APP、网络传输和数据中心都面临着非常大的挑战,而 它们的每一个环节都对最终用户体验有着巨大的影响,因此,传统的性能监控也面临着巨大挑战,新的应用性能管理需要能监控从整个网络到终端、数据中心的性能 情况。

目前的应用性能监控主要分主动式监控和被动式监控两种,主动式监控指的是通过布设监控 点对应用和服务进行抽样式监控,被动式则指收集应用的日志和其它数据然后通过分析达到监控目的。主动式监控的优点是非侵入式,不影响性能,可做发布前、发 布后监测,缺点是监测网络节点与真实用户的行为存在差异,而网络部署成本也高。被动式监控的优点是可覆盖全样本,准备性高,并且成本较低,缺点是无法提供 竞品和对标数据,插码会带来工作量和性能的影响。开发者应该根据自己的需求选用不同的方式。

应用性能监控根据目标的不同又分为客户端监控和服务端监控。

客户端监控方式如下:

  • 基于自动化测试的拨测:主动式监控,客户端监控。主要通过覆盖全面的监测网络,部署自动化的监测工具。
  • 页面插码监测:被动式、客户端监控。主要通过在客户端浏览器插入 JavaScript 代码以采集最终用户的性能体验,W3C 推出了 Web 性能 API 标准,现在已经可以做大非常细粒度的监控。
  • 移动应用性能采集。因为移动端应用有多种方式,原生应用、Hybrid App 以及 Web App,因此监控的方式也多样化,有通过手机浏览器自动拨测、嵌入 SDK、HTML5 页面内插件、JSBridge 等方式。

仅部署客户端 APM 存在局限性,它受网络影响严重,无法精准定位服务端的问题。因此要做到全网的性能监控,服务端 APM 必不可少。

服务端 APM 一般采用被动式监控,并且已经有一些成熟的 ITOA 工具如 ELK 技术栈,它的实现方式分为旁路监听和应用内探针。

  • 服务端旁路监听:部署定位后通过 SPAN,TAP 旁路应用访问流量进行 Sniffer,解析网络报文后再进行各类 TCP 协议分析和性能采集(NPM)。它的优点是非侵入式,对生产影响最小,缺点是难以适配多种协议,无法定位到问题代码等。
  • 应用内探针:通过在应用代码中埋点来实现性能监控 BCI(ByteCode Instrumentation) 技术。优点是可实现代码级的监控,缺点是它是侵入式的,对性能有轻微影响。

通过这些方式可实现端到端的应用性能监控,从而让运维从传统运维进入到业务级运维的新阶段。

传统运维的各岗位角色是割裂的,客服、外网监控、网络运维、研发、DBA log 等都只对自己的领域负责,沟通成本很高。业务级运维通过一个平台来将业务、网络、主机、运维、研发各个角色聚合在一起,统一解决业务、运维、开发团队的问题,从而为业务提供坚实的保障。

腾讯社交网络端到端运维监控体系揭秘

腾讯社交网络面对海量用户,一个强大的应用性能监控平台是必须的,腾讯内部也一直在这方面投入精力。腾讯 SNG 社交平台运维负责人梁安定给大家分享了他们对运维和 ITOA 的理解和腾讯内部 APM 平台系统的研发。

在腾讯,运维分为 ITOM 和 ITOA,前者注重效率,后者注重监控,而 ITOA 又分为运维自动化和运营分析。ITOA 的高级产品形式分三种:APM 类、日志分析类和端到端的立体化监控类。这几种方式各有利弊:

  • ITOA 之 APM:这里指的是第三方 APM,它的优势在于对遗留系统、IT 能力弱的组织、性能问题频发的系统支持较好,能降低故障定位时间、提升用户体验,它们的挑战来自于对微服务和标准化的支持。这一类的代表有听云、AppDynamics、New Relic。
  • ITOA 之日志分析:它的优势在于更贴近业务的日志获取,更多元化的日志分析,以及更多价值化的数据呈现。它 也能降低故障定位时间,提升用户体验,体现 IT 运营的业务价值。它的挑战来自海量日志的收集和处理,以及数据服务的 SAAS 化能力。这一类的代表有 splunk、sumologic,以及开源的 ELK 方案。
  • ITOA 之立体化监控:它的优势在于贴近用户的故障发现能力,更全面的故障告警能力,挑战在于监控理念的转变、监控的 SaaS 化能力。

腾讯的运维体系包括 DevOps 理念的织云系统,以及立体化监控,后者包括端到端监控、用户端监控、服务端监控和基础监控。

在 这之外,面对极度复杂的业务架构,腾讯开发了端到端的智能监控系统 ROOT,基于业务架构,结合数据流关系,通过时间相关性、面积权重等算法,将监控告警 进行筛选分类,发掘有业务价值的告警,并直接分析给出告警根源。它解决的是业务架构随着时间发展越发庞大而复杂,运维监控系统在多个节点对同一现象出现大 量告警,而真正的原因告警被淹没。

比如,如果 DB 宕机,我们的理想是智能定位到数据层监控,然后发出告警,但现实是,用户端、接入层、逻辑层、数据层的监控点均有 N 个告警产生。ROOT 可以解决这种问题,从现象告警转变到原因告警。

ROOT 的研发是和业务紧密相关的,在基础数据层面,梳理业务架构,绘制业务拓扑图,同时实现业务之间访问关系降维。在计算逻辑上,则通过相关时间告警叠加、链路权重计算、过滤噪点、原因模型分析,最后实现根源告警。

ROOT 架构上有两个重点是业务访问关系链路池和原因告警分析模型集,这些都是平时经过分析历史告警信息和业务架构得出,最后给出的告警信息包括现象、原因、历史同类 / 类似告警以及责任人。

梁安定最后总结道:每款互联网产品面对的问题不尽相同,虽然 APM 的应用场景很广,但在 DevOps 协同合作的前提下,应寻求共同的目标将价值最大化。

移动应用性能分析与总结

接下来由听云移动研发总监江赛给大家带来的分享:《移动应用性能分析与总结》,主要讲了 5 点:

  1. 怎样去评价一款应用是优秀的移动应用。听云根据对市场上的应用调研分析认为,崩溃率 iOS 3‰、Android 2‰以内,错误率 8‰以内,请求响应时间 400ms 以内的应用可以称为优秀,但实际上大部分应用都达不到这个标准。
  2. 影响移动应用系统的罪魁祸首。一共总结出十大罪魁祸首,包括连接超时、闪退、卡顿、崩溃、黑白屏、网络劫持、交互性能差、CPU 使用率问题、内存泄露、耗电高。
  3. 如何写出高效代码?这里是避免写出影响性能的代码的一些建议,包括合理的网络访问、对数据和报表的解读、HTTP 库的选择、数据序列化、图片处理等。
  4. 运用技术手段监控应用性能。性能优化很大一部分工作要花在分析问题上,即如何找出瓶颈,合理的使用技术能减少分析问题的时间。iOS 性能监控手段 有 Objective-C 中的 Swizzle、C 接口 Fishhook、符号表分析工具 atos 等,Android 性能监控手段有 WebView 中的 hook、Instrumentation 监控 HttpURLConnection、C 接口中的 hook、符号表分析工具 atosl。
  5. 移动应用性能常见的性能指标。这里介绍了一些常见的性能指标以及听云对这些指标的跟踪。包括 Crash 指标、慢交互指标、交互指标、网络访问指标和错误指标。

全网访问速度优化

最后出场的是来自 OPPO 数据中心的负责人黄良懿,他分享的是访问速度优化方面的一些实践经验。

访问速度优化分为网络优化、服务端优化、浏览器前端优化,以及由于移动互联网的特殊性带来的移动客户端优化。其中,优化 工作的侧重点分布是:前端占 60%,网络占 25%,后端占 15%。

在优化之前,首先要有基准,Web 性能优化的指标有:

  • DNS resolution time:DNS 解析时间
  • TCP connection time:TCP 连接时间
  • HTTP redirect time:HTTP 重定向时间
  • Time to first byte:首包时间
  • HTML content time + Page parse time = DOM loaded time: 页面下载完成时间 + 页面解析时间 =DOM 加载时间
  • First paint time:首次绘制时间
  • Above the fold time:首屏时间
  • Full page object load time:加载完成时间

网络优化的手段包括 DNS 优化、网络连接优化、线路优化。常见问题包括测试与真实用户差异如 DNS 污染、峰谷时段问题,南北互联互通问题,延迟加大引发的状态同步问题等。

服务端优化手段包括尽早刷新缓冲区,Facebook BigPipe 解决方案,以及通过异步 API、并行处理等方式实现页面生成时间加速。

浏览器前端的优化已经有一些成熟的规范和流程,如 ySlow rules Google pagespeed , 调优常用工具有 firebug+ySlow+pagespeed、Apache Benchmark、Dynatrace AJAX Edition、听云 Network 等。常见手段有降低请求数(很有效但也带来不少问题)、降低传输量、提高并发性能、加速可响应时间、定位 TTI 问题、 合理利用带宽等。

移动客户端访问速度优化手段包括资源预取、自建 DNS、数据访问策略优化,以及在嵌入 WebView 时,使用 Native 接管 WebView 的网络及缓存,WebView 只管渲染内容,以此突破 webView 的局限性。

由于篇幅所限,本文只是略微总结了讲师们的分享,有更多精彩之处未能一一传达,如果你觉得意犹未尽,欢迎下载 ArchSummit 深圳 APM 专场的 PPT ,也可通过 StuQ在线查看,我们后续还会整理演讲的视频,通过 InfoQ 与大家分享。

2015-07-23 03:026009
用户头像

发布了 164 篇内容, 共 109.3 次阅读, 收获喜欢 392 次。

关注

评论

发布
暂无评论
发现更多内容

ClickHouse内幕(2)基础数据结构

京东科技开发者

圈子交友系统技术交流,创业分享,项目开发,前后端搭建,小程序/app/H5多端圈子社区论坛系统

DUOKE七七

php 开源 源码 uniapp 社交交友

校园跑腿小程序系统,高效校友互动平台,校园校友系统,校园校友系统构建

DUOKE七七

php uniapp 社交交友 校园系统

企业是保留传统的MES还是换新的MES?

万界星空科技

生产管理系统 mes 定制开发 万界星空科技

制造业为什么需要质量管理系统

万界星空科技

质量管理 万界星空科技 QMS 生产质量

WSPA台灣分部在2024年第二季度以6億美元TvPv表現亮眼

科技热闻

社交软件红包技术解密(十三):微信团队首次揭秘微信红包算法,为何你抢到的是0.01元

JackJiang

网络编程 即时通讯 IM

如何找到适合您需求的云桌面厂家

青椒云云电脑

云桌面 云桌面厂家

Wallys DR5018: Dependable WiFi 6 Routerboard for Long-Distance PTP Transmission with WPA3 Security

wallyslilly

ipq5018

美团面试:说说Netty的零拷贝技术?

王磊

Flink⼤状态作业调优实践指南:状态报错与启停慢篇

Apache Flink

大数据 flink

代码高手的过节秘籍:CodeArt Snap帮写代码,灵感弹指间实现

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 华为云CodeArts 企业号2024年6月PK榜

电力科学研究 涉及的IT系统

执于业务

淘宝商品搜索API返回值详解:关键字搜索的数据应用策略

技术冰糖葫芦

API Explorer API 文档 pinduoduo API

解析SD-WAN带宽相关问题

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

ClickHouse内幕(1)数据存储与过滤机制

京东科技开发者

淘宝/天猫获得店铺所有商品,taobao.item_search_shop API返回值技巧分享

技术冰糖葫芦

API Explorer api 货币化 API 文档 pinduoduo API

助推企业数字化转型,MAXHUB连续三年荣膺“CIO信赖品牌”

科技热闻

QFI 2024年第二季度創羽計畫再次啟動,臺灣分部學員迎來最後的絕佳機會並獲得專案補助資格

科技热闻

借助大模型技术,G7易流“智能接单”业务更高效、更精准

新消费日报

存储设备有哪些?属于私有云平台吗?怎么理解?

行云管家

存储 堡垒机 私有云平台

去中心化自治组织(DAO):重塑未来组织形态

dappweb

从缺陷到创新:质量保障的新视角

京东科技开发者

douyin商品评论数据接口(douyin.item_review)丨douyin平台实时API接口指南

tbapi

抖音 抖音评论接口 抖音商品评论接口

國際知名榮譽顧問加入台灣分析集團總部,全面升級量子電腦Q系統

科技汇

机关事业单位需要进行等保测评吗?一年要几次?

行云管家

等保 等保测评 机关事业单位 机关

國際知名榮譽顧問加入台灣分析集團總部,全面升級量子電腦Q系統

科技热闻

聚道云助力秒速对接,支付体验飞跃升级!

聚道云软件连接器

案例分享

揭秘大模型价格战:差异化定价背后的“买的没有卖的精”

华为云PaaS服务小智

开发者 软件开发 华为云

Mac电脑玩win游戏用什么?PD虚拟机和CrossOver玩游戏谁更好?

阿拉灯神丁

软件 Mac 软件 CrossOver Mac下载 虚拟机软件 pd 19

ArchSummit深圳APM专场总结:性能监控与调优实践干货分享_后端_徐川_InfoQ精选文章