如何快速搭建全链路平台,展示服务拓扑以分析性能?

简介: 如何快速搭建全链路平台,展示服务拓扑以分析性能?

《web应用简析》《裸奔的前端绿皮车》《对前端性能优化的一些小看法》《四个简单例子教你提高用户体验》《前端应用性能应该采集那些指标数据》《报错/卡顿是制约产品体验的关键因素》


写在前面的话

限于本文作者水平,仅仅以node为web server和后端,数据库采用mongodb,来展示全链路的可视化。如果您感觉文章还可以,欢迎点赞,如果有疑问欢迎评论。


全链路可视化的必要性

微服务架构越来越流行,技术中台部,基础架构部等部门的分工也越来越精细化,原本一次请求可能只涉及前后端数据库一两个服务,同时随着高可用甚至服务上云后的应用场景,可能需要在多个务、中间件、之间进行流转,甚至可能是跨越了不同的机房和服务器,系统高可靠高可用的需求,以及一旦出现性能瓶颈或者故障需要跟因分析等场景,这就需要能够帮助快速定位的全链路可视化。基本能看到全链路的作用有:

  • 故障定位,根因分析
  • 性能分析(能耗分析、依赖分析)
  • 数据分析,业务分析(产品分析)


前端服务的全链路是如何做的,这里自己本地采用node的koa框架,做了一个node的server,数据库使用mongodb(安装在一台机器上)。


一个简单的服务拓扑图


这里的例子能看到node做了静态服务器和后端的工作,背后支撑的数据库和文件读写服务。


这里针对不同的服务分别列出了

  • 请求数量
  • 错误率
  • 平均响应时间

5783fcd8ff3c4f2fae6a4c3740535b7e~tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.webp.jpg

查看特定服务的访问情况

1.服务端的性能和访问情况


详见下图,这里能看到服务的整体趋势,比如node server的访问情况

380044a18f384603a6bd90b41ca1cddd~tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.webp.jpg


2.数据库的访问情况

81c5faec63ef4898a1c3fb95a02e6726~tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.webp.jpg

支持下钻的性能分析


针对特定的资源请求,支持下钻查看详情,探究背后的服务关系


1.node

image.jpeg

这里看出node server和mongo两个服务,耗时占比差不多。


数据库查询情况


按照span进行排列,能够看出数据库查询了三张表

f0c4a0b077a847509bbaa8baeaca8604~tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.webp.jpg

再看另一个接口,见下图,这张图node server处理时间占比较大,可以看出node 采用的koa的框架,这里的洋葱模型表现得很明显。

8e77a77005044b03a988f044e3e59272~tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.webp.jpg

node某次查询的分析


这里能看到最后一步执行占比最长,高达88%,如果上传了source map基本可以定位到代码执行。

653f3c06d2bd42f0ba7ce50aea68a285~tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.webp.jpg

整体来看,以上这个例子能清晰看清楚服务之间的拓扑关系,对于服务的吞吐量,响应时间以及错误略都能从整体到局部展示出来数据。


往期文章(包含部分掘金上榜文章)

《谷歌教你如何说服老板为用户体验掏钱(1)- 电商品牌的最佳实践》

《国内第一篇讲如何减少卡顿的代码级别详细文章

《前端同学如何快速制定业务大盘

《巧用火焰图快速分析链路性能》

《前端可观测性的几个基础指标-1022

《某费控独角兽公司的技术分享--如何提高用户体验》

《对前端性能优化的一些小看法

《网站性能优化技巧》

《前端应用性能应该采集的数据》

《网站性能之单页面应用的杂谈》

《web应用简析》

《裸奔的前端绿皮车

《快速搭建全链路平台

《报错/卡顿是制约产品体验的关键因素

《VIP客户用户体验-追踪方案草稿》

《四个简单例子教你提高用户体验》


目录
相关文章
|
传感器 监控 安全
闭环反馈系统原理概述
有时,为了获得系统的一致性和稳定性并产生控制系统的期望输出,我们使用反馈回路。反馈只不过是输出信号的一部分。这个概念在控制系统中最常见和最重要,以实现输出的稳定性。根据反馈连接,控制系统分为两种类型。它们是开环控制系统和闭环控制系统。下面简单介绍下闭环反馈系统。
3148 0
闭环反馈系统原理概述
|
2月前
|
存储 SQL 消息中间件
B端算法实践问题之设计一套实时平台能力如何解决
B端算法实践问题之设计一套实时平台能力如何解决
29 1
EMQ
|
5月前
|
数据采集 消息中间件 并行计算
NeuronEX 3.2.0 发布:增强数据采集、分析计算和管理功能
工业边缘网关软件 NeuronEX 3.2.0 版本现已正式发布,本次发布带来了一系列的增强功能和新特性,旨在为用户提供更多数据采集、分析计算以及管理的能力。
EMQ
100 2
NeuronEX 3.2.0 发布:增强数据采集、分析计算和管理功能
|
5月前
|
SQL 数据可视化 关系型数据库
保姆级教程|如何可视化构建实时数仓
业务上需要实时数据分析,离线任务改造成本高?数据发生变更,难以像批处理任务那样修正?AnalyticDB for PostgreSQL 提供了真正的 Stream warehouse 解决方案,具备实时ETL、行列混合存储和高性能分析引擎,实时构建数仓。为了进一步提升上手易用性,AnalyticDB for PostgreSQL 发布了企业数据智能平台,提供可视化实时任务开发 + 实时数据洞察,让您轻松平移离线任务,使用SQL和简单配置即可完成整个实时数仓的搭建。并支持实时数据洞察,可对实时数仓任意表进行Ad-hoc查询、数据探索及图表分析,让您实时数据debug和快速进行业务洞察。
1448 2
|
5月前
|
SQL 运维 数据可视化
可视化构建实时数仓保姆级教程
业务上需要实时数据分析,离线任务改造成本高?数据发生变更,难以像批处理任务那样修正?AnalyticDB for PostgreSQL 提供了真正的 Stream warehouse 解决方案,具备实时ETL、行列混合存储和高性能分析引擎,实时构建数仓。为了进一步提升上手易用性,AlnayticDB for PostgreSQL 发布了企业数据智能平台,提供可视化实时任务开发 + 实时数据洞察,让您轻松平移离线任务,使用SQL和简单配置即可完成整个实时数仓的搭建。并支持实时数据洞察,可对实时数仓任意表进行Ad-hoc查询、数据探索及图表分析,让您实时数据debug和快速进行业务洞察。
1394 0
|
11月前
|
数据采集 SQL 数据可视化
79 网站点击流数据分析案例(整体技术流程及架构)
79 网站点击流数据分析案例(整体技术流程及架构)
98 0
|
架构师 测试技术
【业务架构】如何构建业务能力图?
【业务架构】如何构建业务能力图?
|
存储 运维 监控
关于 SysOM 2.0 网络/存储相关诊断功能介绍及案例展示 | 第 72-73 期
周二(4点),讲解网络诊断中心功能的基本使用、诊断结果分析及实现原理。
关于 SysOM 2.0 网络/存储相关诊断功能介绍及案例展示 | 第 72-73 期
|
运维 前端开发 数据可视化
如何快速搭建全链路平台,展示服务拓扑以分析性能?
如何快速搭建全链路平台,展示服务拓扑以分析性能?
145 0
如何快速搭建全链路平台,展示服务拓扑以分析性能?
|
Prometheus 监控 Cloud Native
【分布式技术专题】「架构实践于案例分析」盘点一下分布式模式下的服务治理和监控优化方案
【分布式技术专题】「架构实践于案例分析」盘点一下分布式模式下的服务治理和监控优化方案
238 0
【分布式技术专题】「架构实践于案例分析」盘点一下分布式模式下的服务治理和监控优化方案
下一篇
无影云桌面