高并发系统设计 40 问
唐扬
美图公司技术专家
49013 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 49 讲
高并发系统设计 40 问
15
15
1.0x
00:00/00:00
登录|注册

31 | 应用性能管理:用户的使用体验应该如何监控?

CDN链路质量
DNS解析
数据存储和展示流程
数据加密和解密
APM通道服务
数据采集格式
SDK采集信息
Agent方式
网络抖动
客户端Bug
通过监控发现客户端问题的经验分享
监测和优化用户使用体验
用户网络数据重要性
从客户端采集数据
业务逻辑异常监控
异常事件数据上报
客户端网络监控
数据存储和展示
数据采集
终端用户使用体验
后端服务性能和可用性
提升系统性能和可用性
监测各个层面
问题排查
服务端监控报表
一课一思
课程小结
监控用户的信息
端到端监控体系搭建
与服务端监控的区别
应用性能管理(APM)
用户使用体验监控
应用性能管理

该思维导图由 AI 生成,仅供参考

你好,我是唐扬。
上一节课中,我带你了解了服务端监控搭建的过程。有了监控报表之后,你的团队在维护垂直电商系统时,就可以更早地发现问题,也有直观的工具辅助你们分析排查问题了。
不过你很快发现,有一些问题,服务端的监控报表无法排查,甚至无法感知。比如,有用户反馈创建订单失败,但是从服务端的报表来看,并没有什么明显的性能波动,从存储在 Elasticsearch 里的原始日志中,甚至没有找到这次创建订单的请求。这有可能是客户端有 Bug,或者网络抖动导致创建订单的请求并没有发送到服务端。
再比如,有些用户会反馈,使用长城宽带打开商品详情页面特别慢,甚至出现 DNS 解析失败的情况。那么,当我们遇到这类问题时,要如何排查和优化呢?
这里面涉及一个概念叫应用性能管理(Application Performance Management,简称 APM),它的含义是:对应用各个层面做全方位的监测,期望及时发现可能存在的问题,并加以解决,从而提升系统的性能和可用性。
你是不是觉得和之前讲到的服务端监控很相似?其实,服务端监控的核心关注点是后端服务的性能和可用性,而应用性能管理的核心关注点是终端用户的使用体验。也就是说,你需要衡量从客户端请求发出开始,到响应数据返回到客户端为止,这个端到端的整体链路上的性能情况。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

APM(应用性能管理)是一种全方位监测应用各个层面的技术,旨在提升系统性能和可用性。与服务端监控不同,APM关注终端用户的使用体验。搭建端到端的APM系统需要考虑数据采集、存储和展示等方面。数据采集可以采用Agent方式在客户端植入SDK,负责采集信息并定期发送给APM通道服务。采集到的数据经过解析后存储在Elasticsearch中,并形成客户端报表。监控的信息包括网络数据、异常事件等,可帮助排查问题和优化用户体验。文章介绍了APM系统的搭建过程和监控信息的选择,为读者提供了深入了解应用性能管理的基本概念和实践方法。文章重点强调了从客户端采集数据、监控用户网络、上报异常事件数据等重要内容,强调了监测和优化用户使用体验的重要性。文章还提到了搭建一套端到端的全链路的监控体系才是监控系统的最终形态。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《高并发系统设计 40 问》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(21)

  • 最新
  • 精选
  • mghio
    小公司一般能把服务端的监控搞起来就已经不错了

    作者回复: 这倒是,客户端监控可以借助第三方

    2020-05-11
    2
    14
  • longslee
    打卡。老师,我们也常做客户端问题分析,主要是浏览器,有跟头痛的问题是:如果客户端是因为网络不畅,本身这是应该被监控的,但是由于网络不畅连监控日志都发不出来,数据都丢了我们没法分析了。

    作者回复: 这个确实是的,不过可以把日志暂存一下,等网络通畅了再发送

    2019-12-10
    9
  • 蓝士钦
    H5页面的接口请求如何加密,请问有没有好的方案

    作者回复: https协议来加密

    2020-01-22
    2
    3
  • 👽
    这节课说实话没太理解,是不是说客户端发生部分卡顿,但是不是由服务器造成时。 需要由客户端记录请求的信息,并上传给服务器?

    作者回复: 是的

    2020-01-06
    3
  • Keith
    APM SDK和APM服务之间不需要通过消息队列连接吗? 这样直接将APM服务暴露到客户端的请求中, 会不会存在性能风险?

    作者回复: 还好,只要在SDK里面做了采样和聚合,定期发送就好了

    2019-12-07
    2
  • 南山
    自己确实是只关注服务端,工作中也碰到过网络问题抓瞎的场景,现在至少有思路排查了,赞

    作者回复: 谢谢~

    2020-01-26
    1
  • 旅途
    老师,上报的异常数据,下单失败等等,这些在日志中不是有吗,上报这些的目的是什么呢

    作者回复: 有些失败不是服务端导致的,是客户端逻辑导致的,所以要上报

    2019-12-04
    2
    1
  • 勇敢的心
    关于APM服务,对于中于型公司来说是自己搭建合适?还是买现成的服务比较合适呢?

    作者回复: 我觉得自己搭建好一些

    2020-02-01
  • liuyu5337
    我们首先会分配给这个应用,一对 RSA 公钥和私钥,然后 SDK 在启动的时候,先请求一个策略服务,获取 RSA 公钥。请问老师,分配的RSA公钥和密钥是应用启动时向服务器请求的还是写在应用(硬编码或者配置文件)里?如果是启动时请求服务端得到RSA公钥和密钥,如果应用没有网络,该怎么处理?

    作者回复: 硬编码的话,如果需要变更就比较麻烦

    2019-12-04
    2
  • 水目沾
    请问下agent的标识是如何生成的?就是用户的账号id吗?

    作者回复: 是的,看你统计的未读,可能是账号ID,也可能是设备ID

    2019-12-04
收起评论
显示
设置
留言
21
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部